LeetCode-112-Path Sum(路径和)
2017-08-17 09:13
411 查看
Q:
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,
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
Analysis:
题目要求给出路径和,判断二叉树根到叶子结点是否有累加和等于路径和的分支。
采用递归方法,依次递归每个分支,直到有相等的分值为止。
Code:
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.
Analysis:
题目要求给出路径和,判断二叉树根到叶子结点是否有累加和等于路径和的分支。
采用递归方法,依次递归每个分支,直到有相等的分值为止。
Code:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean hasPathSum(TreeNode root, int sum) { if (root == null) { return false; } else if (root.left == null && root.right == null && root.val == sum) {// 递归结束条件 return true; } else { return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val); } } }
相关文章推荐
- [LeetCode 112 113] - 路径和I & II (Path Sum I & II)
- LeetCode 112 Path Sum(路径和)(BT、DP)(*)
- 【LeetCode-面试算法经典-Java实现】【112-Path Sum(路径和)】
- leetcode之二叉树类之路径和系列-----112/113/124/257/437 path sum(牵扯附加OJ572和OJ100, 子树和子拓扑)
- LeetCode--437. Path Sum III(路径和)Python
- 【LeetCode】112,113,437. Path Sum I, II, III
- [leetcode-112]Path Sum(java)
- LeetCode(Binary Tree Maximum Path Sum) 在二叉树中找出一条和最大的路径
- [LeetCode] Minimum Path Sum 最小路径和
- leetcode 113. Path Sum II (路径和) 解题思路和方法
- 【LeetCode】(112)Path Sum(Easy)
- 【LeetCode】#112 #113 #437 Path Sum Series
- [LeetCode] Binary Tree Maximum Path Sum(最大路径和)
- [LeetCode] Path Sum IV 二叉树的路径和之四
- LeetCode(124) Binary Tree Maximum Path Sum 二叉树的最大路径和 (如何递归?)
- Leetcode 113. Path Sum II 路径和2 解题报告
- [LeetCode]113. Path Sum II(列出二叉树根到叶路径和等于sum的所有路径)
- leetcode:Path Sum (路径之和) 【面试算法题】
- [置顶] LeetCode--Minimum Path Sum (最小路径和)Python
- LeetCode | Binary Tree Maximum Path Sum(二叉树的路径最大值)