# 112. Path Sum

120人阅读 评论(0)

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.

Subscribe to see which companies asked this question

Show Tags
Show Similar Problems

/**
* 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;
}

if(root.left == null && root.right == null){

if(root.val - sum == 0){

return true;
}else{
return false;
}
}

return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val);

}
}
0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：132837次
• 积分：4040
• 等级：
• 排名：第7975名
• 原创：282篇
• 转载：7篇
• 译文：0篇
• 评论：8条
评论排行
最新评论