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     }
原文地址:https://www.cnblogs.com/wzj4858/p/7707205.html