二叉树中和为某一值的路径
2015-06-16 21:52
323 查看
二叉树中和为某一值的路径
题目描述
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。代码
[code]/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ import java.util.ArrayList; public class Solution { ArrayList list=new ArrayList(); ArrayList stack=new ArrayList(); public ArrayList<ArrayList<Integer>> FindPath(TreeNode root,int target) { if(root==null) return list; return FindPath( root, target,0); } public ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target, int sum) { //前序遍历 if(root!=null){ //ele=new ArrayList<Integer>(); int val=root.val; sum+=val; boolean isleaf=(root.left==null&&root.right==null); stack.add(val); if(sum==target&&isleaf){ ArrayList path=new ArrayList(); for(int i=0;i<stack.size();i++){ path.add(stack.get(i)); } list.add(path); } FindPath( root.left, target,sum); FindPath( root.right, target,sum); if(stack.size()>0){ stack.remove(stack.size()-1); } return list; } return null; } }
相关文章推荐
- 快速幂取模模板 && 51nod 1013 3的幂的和
- 品读程序员晋级之路
- 走迷宫
- Ubuntu 14.04 启用休眠
- 第二次站立会议3
- LeetCode:Count Primes
- phpstudy在linux下的初体验-----php文件放置目录
- Ubuntu的挂起和休眠
- Android源码项目目录结构
- 全局程序集GlobalAssemblyInfo.cs进行版本控制(引)
- 怎样在win7上远程连接linux系统
- Qt中使用GridLayout如何设置一个按钮占两个位置
- rsyslog netconsole(debian)二
- Execution failed for task ':dexDebug' Android Studio 编译失败
- Android获取手机屏幕像素
- 使用多线程改进网站客户端响应能力
- 【BZOJ】【3930】【CQOI2015】选数
- 第二次站立会议2
- [C/CPP系列知识] C++中extern “C” name mangling -- Name Mangling and extern “C” in C++
- Java优先级队列PriotyQueue