leetcode113. 路径总和 II
【摘要】 113. 路径总和 II
难度中等163
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
说明: 叶子节点是指没有子节点的节点。
示例: 给定如下二叉树,以及目标和 sum = 22,
5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1
返回:
[ [5...
难度中等163
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树,以及目标和 sum = 22
,
5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1
返回:
[ [5,4,11,2], [5,8,4,5] ]
思路:一个temp记录答案,符合条件就加入总答案记录,否则向左右尝试。
-
/**
-
* Definition for a binary tree node.
-
* public class TreeNode {
-
* int val;
-
* TreeNode left;
-
* TreeNode right;
-
* TreeNode(int x) { val = x; }
-
* }
-
*/
-
class Solution {
-
List<List<Integer>> ans=new ArrayList<>();
-
List<Integer> temp=new ArrayList<Integer>();
-
-
public List<List<Integer>> pathSum(TreeNode root, int sum) {
-
helper(root,sum);
-
return ans;
-
}
-
public void helper(TreeNode root,int sum){
-
if(root==null)return;
-
temp.add(root.val);
-
if(root.left==null && root.right==null && sum==root.val)
-
ans.add(new ArrayList<>(temp));
-
helper(root.left,sum-root.val);
-
helper(root.right,sum-root.val);
-
temp.remove(temp.size()-1);
-
}
-
}
文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。
原文链接:fantianzuo.blog.csdn.net/article/details/104371575
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)