bool check(struct TreeNode* root, int targetSum, int sum)
{
if (root == NULL)
{
return false;
}
sum += root->val;
if (root->left == NULL && root->right == NULL)
{
if (sum == targetSum)
{
return true;
}
else
{
return false;
}
}
return check(root->left, targetSum, sum) || check(root->right, targetSum, sum);
}
bool hasPathSum(struct TreeNode* root, int targetSum)
{
if (root == NULL)
{
return false;
}
else
{
return check(root, targetSum, 0);
}
}