###### 112. Path Sum

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);

}
}

#### 【LeetCode-面试算法经典-Java实现】【112-Path Sum（路径和）】

2015-08-11 07:40:22

#### LeetCode 112 — Path Sum（C++ Java Python）

2014-04-03 16:01:19

#### LeetCode112 PathSum Java题解

2015-07-06 10:58:52

#### （非递归的方法待研究）112. Path Sum

2017-01-09 22:08:47

#### 112. Path Sum（DFS）

2017-09-28 01:53:33

#### leetcode 112. Path Sum DFS深度优先遍历

2017-09-13 09:58:16

#### LeetCode 112 Path Sum (DFS)

2016-09-04 10:35:38

#### DFS:112. Path Sum

2017-09-23 22:03:17

#### Leetcode_112_Path Sum

2014-12-13 15:52:53

#### LeetCode（112） Path Sum

2015-10-19 12:53:56

112. Path Sum