最开始也想到,这种求和用递归往下减数。但是因为想剪枝,希望可以在遇到sum<0就停止迭代,之后代码久出错了。
class Solution {
public:
bool hasPathSum(TreeNode* root, int sum) {
if(root==NULL) return false;
if(root->left==NULL && root->right==NULL) return root->val==sum;
return hasPathSum(root->left, sum - root->val)|| hasPathSum(root->right, sum - root->val);
}
};