- Notifications
You must be signed in to change notification settings - Fork 121
Expand file tree
/
Copy pathPathSum.java
More file actions
Latest commit
16 lines (16 loc) · 730 Bytes
/
Copy pathPathSum.java
File metadata and controls
16 lines (16 loc) · 730 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* 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.
*
* <p>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.
*/
publicclassPathSum {
publicbooleanhasPathSum(TreeNoderoot, intsum) {
if (root == null) returnfalse;
if (root.left == null && root.right == null && root.val == sum) returntrue;
booleanl = root.left != null ? hasPathSum(root.left, sum - root.val) : false;
booleanr = root.right != null ? hasPathSum(root.right, sum - root.val) : false;
returnl || r;
}
}