题解 | #JZ24二叉树中和为某一值的路径#

二叉树中和为某一值的路径

http://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca

递归

遇到路径长度的问题,可以利用扣减的方式,
返回的是一个字典,故只有遍历到叶子结点 且target扣减到0 为一个字典元素。

ArrayList中有一个 构造,可以传入 Collection接口的实现类。

public class Solution {
    private ArrayList<ArrayList<Integer>> paths = new ArrayList<>();
    private Stack<Integer> path = new Stack<>();

    public ArrayList<ArrayList<Integer>> FindPath(TreeNode root,int target) {
        if(root ==null) return paths;
        path.push(root.val);
        target -= root.val;

        if(target == 0 && root.left == null && root.right ==null){
            paths.add(new ArrayList<Integer>(path));
        }

        FindPath(root.left,target);
        FindPath(root.right,target);
        path.pop();

        return paths;
    }
}
全部评论
为什么最后要path.pop()
1 回复 分享
发布于 2022-05-21 15:11
同请教:为什么最后要path.pop()
点赞 回复 分享
发布于 2022-07-03 12:32

相关推荐

01-17 08:34
门头沟学院 Java
想找对象的单身狗在努力存钱:这工资不低了,再高点人家要招博士硕士的
点赞 评论 收藏
分享
01-02 21:17
已编辑
西安理工大学 后端
程序员小白条:项目不太重要,你的优势的算法竞赛,然后多背相关的八股文,项目可以不作为重点考虑,面试可能就简单带过项目就行了,你可以直接写简历,背项目相关的八股文就行,也不用自己做,时间紧张的情况下,性价比最高
点赞 评论 收藏
分享
评论
13
1
分享

创作者周榜

更多
牛客网
牛客企业服务