[LeetCode] Path Sum
2014-04-21 17:25
375 查看
Total Accepted: 11233Total Submissions:
37402
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:
Given the below binary tree and
return true, as there exist a root-to-leaf path
37402
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:
Given the below binary tree and
sum = 22,
5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
return true, as there exist a root-to-leaf path
5->4->11->2which sum is 22.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean hasPathSum(TreeNode root, int sum) { return traverse(root, 0, sum); } public boolean traverse(TreeNode root, int sum, int target) { if (root == null) return false; sum += root.val; if (sum == target && root.left == null && root.right == null) return true; return traverse(root.left, sum, target) || traverse(root.right, sum, target); } }
相关文章推荐
- LeetCode[Day 1] Two Sum 题解
- Yet Another Sudoku Solver in Python
- 考查嵌入式C开发人员的最好的十道题~答案(zz hecrics的BLOG)
- 代码大全学习-20-不常见的控制结构(Unusual Control Structures)
- Recursion World
- jTree 刷新问题 终极解决方法
- Nearest Neighbor Queries, Nick Roussopoulos
- SQL2005/2008中的CTE应用--递归查询
- Recursion http://www.cs.umd.edu/class/spring2002/cmsc214/Tutorial/recursion.html
- 初涉js的第一个问题
- Palindrome Number
- Max Points on a Line
- Evaluate Reverse Polish Notation
- Sort List
- Insertion Sort List
- LRU Cache
- Binary Tree Postorder Traversal
- Binary Tree Preorder Traversal
- Reorder List
- Linked List Cycle