其他分享
首页 > 其他分享> > 二叉树中和为某值的路径

二叉树中和为某值的路径

作者:互联网

//思路:回溯法(先序遍历+路径记录)
//关于回溯法的模板网上很多,大家可以去查一下

class Solution {
    LinkedList<List<Integer>> res = new LinkedList<>();
    LinkedList<Integer> path = new LinkedList<>(); 
    public List<List<Integer>> pathSum(TreeNode root, int sum) {
        recur(root, sum);
        return res;
    }
    //回溯法模板
    void recur(TreeNode root, int tar) {
        if(root == null) return;
        path.add(root.val);
        tar -= root.val;
        if(tar == 0 && root.left == null && root.right == null)
            res.add(new LinkedList(path));
        recur(root.left, tar);
        recur(root.right, tar);
        //撤销选择
        path.removeLast();
    }
}


标签:recur,LinkedList,tar,路径,某值,二叉树,path,null,root
来源: https://www.cnblogs.com/andrewlovemeimei/p/14513336.html