题解 | #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

相关推荐

尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
13 1 评论
分享
牛客网
牛客企业服务