牛客网刷题之二叉树中和为某一值的路径
来源:互联网 发布:知乎 epub转mobi 编辑:程序博客网 时间:2024/06/05 01:19
题目描述:
解题思路:
路径由根结点开始,那么要选择前序遍历。这类题目基本都是选用递归解法,可以定义两个动态数组listPath和listNode,分别存储路径结点以及结点所对应的值;如果根节点不为空,那么循环比较listNode中值的和与target,如果左右子树都为空并且listVal中值的和与target相等,说明遍历结束,那就新增加一条路径;需要注意的是:递归过程中,到达深度时,如果没找到路径,那么就要后退一个结点直至到根节点。
题解:
public class Solution { ArrayList<ArrayList<Integer>> listPath= new ArrayList<>(); ArrayList<Integer> listNode = new ArrayList<>(); public ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target) { if(root == null){ return listPath; } listNode.add(root.val); target -= root.val; if(target == 0 && root.left == null && root.right == null){ listPath.add(new ArrayList<Integer>(listNode)); } FindPath(root.left , target); FindPath(root.right , target); listNode.remove(listNode.size()-1); return listPath; }}
ac结果:
0 0
- 牛客网刷题之二叉树中和为某一值的路径
- 【树】二叉树中和为某一值的路径
- 【树6】二叉树中和为某一值的路径
- 题目11:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的所有路径
- 题目1368:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 1368:二叉树中和为某一值的路径 @jobdu
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- Q25:二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- ContentProvider的实例基础介绍
- python-multiple process 注意事项
- 静态代码块及父类子类初始化顺序
- 第七周 项目3-顺序串算法
- Memcache线上常见问题(缓存雪崩、缓存无底洞、永久数据被踢)
- 牛客网刷题之二叉树中和为某一值的路径
- PhotoView
- oil 分油
- 数据库SQL优化大总结之 百万级数据库优化方案[转载]
- 2016-10-15今开始分享个人编程经验及向各位童鞋学习
- js多维数组变一位数组
- JavaScript 数组去除重复元素 笔记
- 使用反向Ajax技术做在线客服系统
- MIR知名实验室