【LeetCode】Path Sum II
来源:互联网 发布:实验数据记录怎么写 编辑:程序博客网 时间:2024/04/30 19:10
题目
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]]
解答题目要求根到叶子的路径各值和等于目标值的各路径的集合。
类似Path Sum,用递归求解,注意要保存不同路径的值。代码如下:
/** * 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>> list=new ArrayList<List<Integer>>(); if(root==null){ return list; } List<Integer> item=new ArrayList<Integer>(); item.add(root.val); getSumRec(root,sum-root.val,item,list); return list; } private void getSumRec(TreeNode root,int sum,List<Integer> item,List<List<Integer>> list){ if(root==null){ return; } if(root.left==null&&root.right==null&&sum==0){ //到达叶子节点,并且和等于目标值时,add进list list.add(new ArrayList<Integer>(item)); return; } if(root.left!=null){ item.add(root.left.val); getSumRec(root.left,sum-root.left.val,item,list); item.remove(item.size()-1); //切换到另一条路径 } if(root.right!=null){ item.add(root.right.val); getSumRec(root.right,sum-root.right.val,item,list); item.remove(item.size()-1); } }}
---EOF---
0 0
- LeetCode: Path Sum II
- LeetCode Path Sum II
- [Leetcode] Path Sum II
- LeetCode: Path Sum II
- [LeetCode] Path Sum II
- 【leetcode】Path Sum II
- [LeetCode]Path Sum II
- [Leetcode]Path Sum II
- [leetcode]Path Sum II
- Leetcode: Path Sum II
- LeetCode-Path Sum II
- [leetcode] Path Sum II
- LeetCode - Path Sum II
- [LeetCode] Path Sum II
- Leetcode Path Sum II
- LeetCode | Path Sum II
- 【leetcode】Path Sum II
- [LeetCode] Path Sum II
- solrCloud+tomcat+zookeeper配置
- 1412202035-hpu-1003:C语言考试练习题_一元二次方程
- Java NIO 教程
- Autofac(IOC框架)速度比拼
- poj 1281(简单模拟题)
- 【LeetCode】Path Sum II
- android实现程序的后台运行
- 实验五:树和二叉树实验
- Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- 西安汽车科技学院新能源纯电动教学用车比亚迪e6
- EhLib安装问题(dbsumlst.dcu出错)
- Ubuntu 12.04.5安装TL-WN725N 2.0无线网卡驱动
- Android Scroller简单用法
- sping 定时器 掉存过过程