LeetCode 113. Path Sum II DFS求解
来源:互联网 发布:哪个软件听歌好 编辑:程序博客网 时间:2024/05/22 11:36
题目链接:https://leetcode.com/problems/path-sum-ii/
Total Accepted: 72944 Total Submissions: 262389 Difficulty: Medium
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]]
Subscribe to see which companies asked this question
Show Similar Problems
Have you met this question in a real interview?
Yes
No
Discuss
给定一个目标数,找到一棵树所有的根到叶子和为这个数的路径。这道题比较简单,普通的DFS深搜就可以解决。用一个list存储路径上的数。注意递归结束后把list的最后加入的数移除。
我的AC代码
public class PathSumII {/** * @param args */public static void main(String[] args) {TreeNode n1 = new TreeNode(1);TreeNode n2 = new TreeNode(-2);TreeNode n3 = new TreeNode(-3);TreeNode n4 = new TreeNode(1);TreeNode n5 = new TreeNode(3);TreeNode n6 = new TreeNode(-2);TreeNode n7 = new TreeNode(-1);n1.left = n2;n1.right = n3;n2.left = n4;n2.right = n5;n3.left = n6;n4.left = n7;System.out.print(pathSum(n1, 2));}public static List<List<Integer>> pathSum(TreeNode root, int sum) {List<List<Integer>> result = new ArrayList<List<Integer>>();if(root != null) dfs(root, sum, 0, new ArrayList<Integer>(), result);return result; }private static void dfs(TreeNode root, int sum, int s, ArrayList<Integer> path, List<List<Integer>> result) {if(root.left == null && root.right == null) {if(s + root.val == sum) {path.add(root.val);result.add((List<Integer>) path.clone());path.remove(path.size() - 1);}return;}path.add(root.val);if(root.left != null) dfs(root.left, sum, s + root.val, path, result);if(root.right != null) dfs(root.right, sum, s + root.val, path, result);path.remove(path.size() - 1);}}
0 0
- LeetCode 113. Path Sum II DFS求解
- Path Sum & Path Sum II | LeetCode DFS
- 113.leetcode Path Sum II(meidum)[DFS加回溯 ]
- 【LeetCode笔记】113. Path Sum II DFS搜索+记录节点
- leetcode 113. Path Sum II DFS深度优先遍历
- [leetcode][tree][dfs] Path Sum II
- LeetCode 113 Path Sum II (DFS)
- DFS Path Sum II
- LeetCode 113. Path Sum II
- [LeetCode]113.Path Sum II
- [Leetcode] 113. Path Sum II
- [leetcode] 113.Path Sum II
- [LeetCode]113. Path Sum II
- LeetCode: 113. Path Sum II
- leetcode 113. Path Sum II
- 113. Path Sum II LeetCode
- leetcode 113. Path Sum II
- LeetCode *** 113. Path Sum II
- 封装DBUtils
- [从头学数学] 第109节 有理数 小结与复习题
- JavaScript数据类型
- 【解决方法】关于eclipse中logcat只显示level无其他内容
- 高效Java编程工具集锦
- LeetCode 113. Path Sum II DFS求解
- IOS Apps 开发(Swift)(4)——Connect the UI to Code(2)
- AVL树的插入删除操作
- BigInteger
- 新浪笔试题
- 带html标签的字符串 显示
- GMT,UTC,DST,CST时间详解
- System
- PAT(Basic Level) 1002.写出这个数 (20)