Leetcode:112. Path Sum (求Tree中是否存在路径的和等于给定值)
2017-11-10 21:04
471 查看
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->2 which sum is 22.
代码:
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->2 which sum is 22.
代码:
public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } class Solution { /** ***采用递归的方法,我们用递归来实现!!! *非常的简单 : *其基本思想是从总和中减去当前节点的值, *直到它到达一个叶节点,结果等于0,那么我们知道我们得到了一个命中。 *否则,最后的结果不能为0。** */ public boolean hasPathSum(TreeNode root, int sum) { if(root == null) return false; if(root.left == null && root.right == null && sum - root.val == 0) return true; return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val); } }
相关文章推荐
- Tree-----找出和等于给定数字的所有路径(113. Path Sum II)
- [LeetCode]112. Path Sum(判断二叉树根到叶路径和是否等于sum)
- LeetCode | Binary Tree Maximum Path Sum(二叉树的路径最大值)
- [LeetCode]437. Path Sum III(求二叉树中路径和等于sum的数量)
- [Leetcode] Binary tree maximum path sum求二叉树最大路径和
- [LeetCode] Binary Tree Maximum Path Sum 求二叉树的最大路径和
- LeetCode-Binary Tree Maximum Path Sum-二叉树最大路径和-DFS
- leetcode_112. Path Sum 二叉树路径求和,判断是否存在路径和为某个值的路径,深度遍历,递归的return
- [LeetCode] 递归求解二叉树路径之和是否等于给定值(1)
- 【二叉树的递归】04找出二叉树中路径和等于给定值的所有路径【Path Sum II】
- LeetCode(Binary Tree Maximum Path Sum) 在二叉树中找出一条和最大的路径
- Binary Tree Maximum Path Sum (二叉树路径和的最大值) 【leetcode】
- leetCode 112.Path Sum (路径和) 解题思路和方法
- [LeetCode] Binary Tree Maximum Path Sum(最大路径和)
- [LeetCode]113. Path Sum II(列出二叉树根到叶路径和等于sum的所有路径)
- LeetCode(124) Binary Tree Maximum Path Sum 二叉树的最大路径和 (如何递归?)
- [LeetCode 124] - 二叉树最大路径和(Binary Tree Maximum Path Sum)
- LeetCode 112. Path Sum (二叉树路径之和)
- [LeetCode] 递归求解二叉树路径之和是否等于给定值(2)
- Leetcode 124 Binary Tree Maximum Path Sum 二叉树最大路径和