就是递归,就是减然后看最后能不能减为0。还是包含着一点回溯的东西在,但是在代码中体现的不是很完全。
class Solution {
public:
bool hasPathSum(TreeNode* root, int sum) {
if (root == NULL) return false;
if (root->left == NULL && root->right == NULL){
return sum == root->val;
}
return hasPathSum(root->left, sum - root->val) || hasPathSum(root->right, sum - root->val);
}
};
原文:https://www.cnblogs.com/lzyrookie/p/14674447.html