Leetcode:113. 路径总和 II

/**
 * 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 {  
    private List<List<Integer>> res=new ArrayList<List<Integer>>();
    private Deque<Integer> temp=new LinkedList<Integer>();

    public List<List<Integer>> pathSum(TreeNode root, int targetSum) {
        if(root==null){
            return res;
        }
        temp.offer(root.val);
        travel(root,targetSum-root.val);
        return res;
    }

    public void travel(TreeNode root,int targetSum){
        if(root.left==null && root.right==null && targetSum==0){
            res.add(new LinkedList<Integer>(temp));
            return;
        }
        if(root.left==null && root.right==null){
            return;
        }
        if(root.left!=null){
            temp.offer(root.left.val);
            targetSum-=root.left.val;
            travel(root.left,targetSum);
            targetSum+=root.left.val;
            temp.removeLast();
        }
        if(root.right!=null){
            temp.offer(root.right.val);
            targetSum-=root.right.val;
            travel(root.right,targetSum);
            targetSum+=root.right.val;
            temp.removeLast();
        }
        return;
    }
}
posted @   Dreamer_szy  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示