![](https://img2020.cnblogs.com/blog/1718692/202007/1718692-20200707085507104-2132927918.png)
方法1:递归
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool hasPathSum(struct 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://img2020.cnblogs.com/blog/1718692/202007/1718692-20200707085726202-1382292574.jpg)