Path Sum II
2016-07-12 14:20
393 查看
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]
]
先记录每条路径,若碰到叶子切点,且路径之和恰好等于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]
]
先记录每条路径,若碰到叶子切点,且路径之和恰好等于sum,则记录该路径,递归回退时回退该路径。
public class Solution { List<List<Integer>> treeList = new ArrayList<List<Integer>>(); public void pathSumRe(TreeNode root, int sum,List<Integer> list) { if(root == null) { return; } int value = root.val; list.add(value); if((root.right ==null) && (root.left == null) && (value == sum))//叶子节点 { treeList.add(new ArrayList<Integer>(list)); } pathSumRe(root.right, (sum - value), list) ; pathSumRe(root.left, (sum - value), list); list.remove(list.size() - 1); } public List<List<Integer>> pathSum(TreeNode root, int sum) { List<Integer> list = new ArrayList<Integer>(); pathSumRe(root, sum,list); return treeList; } }
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 菜鸟说给菜鸟听之Beginning Linux Programming——Chapter1(1)
- 命令行快速技巧:如何定位一个文件
- sqlserver FOR XML PATH 语句的应用
- jquery+CSS实现的多级竖向展开树形TRee菜单效果
- set_include_path在win和linux下的区别
- cmd tree命令 以树形格式罗列文件
- 无限分级和tree结构数据增删改【附DEMO下载】
- 实例讲解jQuery EasyUI tree中state属性慎用
- 浅析Cookie中的Path与domain
- cookie中的path与domain属性详解
- 推荐8款jQuery轻量级树形Tree插件
- tree 以树形格式罗列文件
- EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例
- PHP include_path设置技巧分享
- E3 tree 1.6在Firefox下显示问题的修复方法
- js树形控件脚本代码
- 一天一个shell命令 linux文本操作系列-tree命令详解
- NodeJS学习笔记之(Url,QueryString,Path)模块
- 浅析JAVA_HOME,CLASSPATH和PATH的作用