Path Sum II
2015-08-19 16:32
134 查看
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,
return
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] ]
public class Solution { public List<List<Integer>> pathSum(TreeNode root, int sum) { List<List<Integer>> res=new ArrayList<List<Integer>>(); if(root==null) return res; List<Integer> temp=new ArrayList<Integer>(); pathSum2(res,temp,sum,root,0); return res; } public void pathSum2(List<List<Integer>> res,List<Integer> temp,int sum,TreeNode root,int k) { if(root.left==null && root.right==null) { temp.add(root.val); if(k+root.val==sum) { List<Integer> new_temp=new ArrayList<Integer>(temp); res.add(new_temp); } temp.remove(temp.size()-1); return ; } temp.add(root.val); if(root.left!=null) { pathSum2(res,temp,sum,root.left,k+root.val); } if(root.right!=null) { pathSum2(res,temp,sum,root.right,k+root.val); } temp.remove(temp.size()-1); } }
相关文章推荐
- android中include的用法
- MAC 平台使用qt 静态链接boost 库问题
- 程序设计是一种设计
- HDU 4046 Panda(树状数组)
- ios8适配遇到的问题及解决方法
- Android 问题之找不到资源解决办法
- 使用YUM安装ZABBIX监控
- [未完成][知识点]数论之定积分基本定理
- [LeetCode] Ugly Number II
- 求最大公倍数
- /proc
- SSIS Catalog项目版本管理
- Linux 下常见目录及其功能
- (easy)LeetCode 258.Add Digits
- 数据库设计三大范式
- 桌面支持--重置skype密码链接
- The method replace(int, Fragment) in the type FragmentTransaction is not applica
- 回归-用极大似然估计来解释最小二乘
- Android Studio 快捷键
- C/C++经典源代码网站