Path sum(Leecode)

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 the 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.
class Solution1{
/*
Definition for binary tree
struct TreeNode{
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x):val(x),left(NULL),right(NULL){}
};
 */
    public:
        bool hasPathSum(TreeNode *root,int sum){
            if(root == NULL) return false;
            if(root->left == NULL && root->right == NULL && root->val == sum) return true;
            return hasPathSum(root->left,sum - root->val) || hasPathSum(root->right,sum-root->val);
        }
};
怕什么真理无穷,进一寸有一寸的欢喜。---胡适
原文地址:https://www.cnblogs.com/hujianglang/p/11520272.html