博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 34. 二叉树中和为某一值的路径
阅读量:4034 次
发布时间:2019-05-24

本文共 1397 字,大约阅读时间需要 4 分钟。

题目描述

输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。

示例:

给定如下二叉树,以及目标和 target = 22,

5         / \        4   8       /   / \      11  13  4     /  \    / \    7    2  5   1

返回:

[

[5,4,11,2],
[5,8,4,5]
]

提示:

节点总数 <= 10000

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Java

回溯法

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode() {} *     TreeNode(int val) { this.val = val; } *     TreeNode(int val, TreeNode left, TreeNode right) { *         this.val = val; *         this.left = left; *         this.right = right; *     } * } */class Solution {
public List
> res; public List
> pathSum(TreeNode root, int target) {
res= new ArrayList<>(); backtrace(root,target,new ArrayList<>()); return res; } public void backtrace(TreeNode root,int target,List
path){
if(root==null) return; path.add(root.val); target-=root.val; if(target==0 && root.left==null&& root.right==null) res.add(new ArrayList<>(path)); else{
backtrace(root.left,target,path); backtrace(root.right,target,path); } path.remove(path.size()-1); }}
你可能感兴趣的文章
JVM最简生存指南
查看>>
漂亮的代码,糟糕的行为——解决Java运行时的内存问题
查看>>
Java的对象驻留
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
STL::deque以及由其实现的queue和stack
查看>>
WAV文件解析
查看>>
DAC输出音乐2-解决pu pu 声
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>