相对上题来说这题就简单多了。
对于根节点来说,如果叶到根要满足和为sum,则必须左或右子树满足和为sum-root->val
当左右均为null时,即为叶子节点。
代码如下:
class Solution {
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);
}
};