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.
题目含义:能否找到一条根节点到叶子节点的路径,使得各个节点值的总和等于给定的数
1 private boolean finded = false; 2 private void validPathSum(TreeNode node,int curSum,int sum) 3 { 4 if (node == null || finded) return; 5 curSum += node.val; 6 if (node.left == null && node.right==null && curSum == sum) 7 { 8 finded=true; 9 return; 10 } 11 validPathSum(node.left,curSum,sum); 12 validPathSum(node.right,curSum,sum); 13 } 14 public boolean hasPathSum(TreeNode root, int sum) { 15 if (root == null) return false; 16 validPathSum(root,0,sum); 17 return finded; 18 }