LeetCode Solutions : Path Sum I & II
来源:互联网 发布:ubuntu防火墙关闭 编辑:程序博客网 时间:2024/04/30 02:50
Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:
Given the below binary tree and sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public boolean hasPathSum(TreeNode root, int sum) { if(root==null)return false;if(root.left==null&&root.right==null)return sum==root.val?true:false;return hasPathSum(root.left,sum-root.val)||hasPathSum(root.right,sum-root.val); }}
Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:
Given the below binary tree and sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
return
[
[5,4,11,2],
[5,8,4,5]
]
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public ArrayList<ArrayList<Integer>> pathSum(TreeNode root, int sum) { ArrayList<ArrayList<Integer>> results=new ArrayList<ArrayList<Integer>>();if(root==null)return results;helper(results,new ArrayList<Integer>(),root,sum);return results; } private void helper(ArrayList<ArrayList<Integer>> results,ArrayList<Integer> path,TreeNode root,int sum){if(root==null)return;path.add(root.val);if(root.left==null&&root.right==null){if(root.val==sum){ArrayList<Integer> temp=new ArrayList<Integer>(path);results.add(temp);}}helper(results,path,root.left,sum-root.val);helper(results,path,root.right,sum-root.val);path.remove(path.size()-1);}}
4 0
- LeetCode Solutions : Path Sum I & II
- LeetCode Solutions : Combination Sum I & II
- LeetCode:Path Sum I &&II
- 【LeetCode】path-sum i&ii
- LeetCode题解:Path Sum I and II
- LeetCode题解:Path Sum I and II
- LeetCode 112, 123. Path Sum i, ii
- LeetCode 112&113 --Path Sum I & II;
- [Leetcode] Path Sum I,II,III
- Leetcode--Path Sum I,II,III
- LeetCode Solutions : Minimum Path Sum
- Path Sum I、II
- Path Sum I,II
- path-sum-i&ii
- path-sum i & ii
- Leetcode: Unique Path I & II, Minimum Path Sum, Triangle
- LeetCode: Path Sum II
- LeetCode Path Sum II
- spinbox HTML源码
- nyoj 366 D的小L
- android中@+id 与@string的使用
- nand flash与nor flash区别
- 运行vs2012出现unknown hard error
- LeetCode Solutions : Path Sum I & II
- Ant 多渠道 多项目应用library 打包Android项目遇到问题总结
- chrome DevTool For Improving web app performance
- targetSdkVersion 相关了解
- NSURLProtocol Tutorial
- package.json字段全解
- 命名空间
- java里的String Pool
- nginx memcached模块解析