112. Path Sum
每记过一个节点,就把sum减去该节点的值。如果到了树叶leaf,如果sum此时为0,则代表这条路径的和是sum。
这里的路径是从root->leaf。所以要特定判断该节点是不是leaf。
class Solution {
public:
bool hasPathSum(TreeNode* root, int sum) {
if(root == NULL)
return false;
else if(root->left==NULL && root->right==NULL)
return sum==root->val;
int subsum = sum-root->val;
return hasPathSum(root->left,subsum)||
hasPathSum(root->right,subsum);
}
};