Path Sum II
来源:互联网 发布:男人心目中的女神 知乎 编辑:程序博客网 时间:2024/05/16 09:02
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 List<List<Integer>> pathSum(TreeNode root, int sum) { List<List<Integer>> results = new ArrayList<List<Integer>>(); ArrayList<Integer> result= new ArrayList<Integer>(); pSum(root, sum, results, result); return results; } public void pSum(TreeNode root, int sum, List<List<Integer>> results, ArrayList<Integer> result){ if((root==null)&&(result.size()==0)){ return; }else if((root.val==sum)&&(root.left==null&&root.right==null)){ result.add(root.val); results.add(result); return; }else{ if(root.left!=null&&root.right!=null){ result.add(root.val); ArrayList<Integer> res= new ArrayList<Integer>(); for(int i=0;i<result.size();i++){ res.add(result.get(i)); } pSum(root.left, sum-root.val, results, result); pSum(root.right, sum-root.val, results, res); return ; } else if(root.left!=null&&root.right==null){ result.add(root.val); pSum(root.left, sum-root.val, results, result); //pSum(root.right, sum-root.val, results, result); return ; } else if(root.left==null&&root.right!=null){ result.add(root.val); //pSum(root.left, sum-root.val, results, result); pSum(root.right, sum-root.val, results, result); return; } return ; } }}
0 0
- LeetCode: Path Sum II
- LeetCode Path Sum II
- [Leetcode] Path Sum II
- LeetCode: Path Sum II
- Path Sum II
- [LeetCode] Path Sum II
- 【leetcode】Path Sum II
- [113]Path Sum II
- Path Sum II
- Path Sum II
- [LeetCode]Path Sum II
- Path Sum II
- Path Sum II
- [Leetcode]Path Sum II
- [leetcode]Path Sum II
- Path Sum II
- Leetcode: Path Sum II
- Path Sum II
- IOS PushNotification - IOS推送测试 PHP 版
- [LeetCode9] Palindrome Number
- 开发团队的效率
- 黑马程序员_泛型总结
- CallmeR
- Path Sum II
- 【C】刚开始学习C 的几个小错误
- 陆“脑震荡” 震出了夜半酒吧敲诈李天一黑幕(一)
- C语言之字节对齐解析
- [LeetCode76]Regular Expression Matching
- JavaScript 指南 - 继承与原型链
- 数据类型和Json格式
- Json 在线格式化与定义、各语言开源库集锦
- 越南与泰国移动游戏市场解读