判断和为给定值的路径是否存在
1. LeetCode 112. Path Sum
2. 描述:
给定一个二叉树和一个值,判断该树是否有一条根节点到叶节点的路径,并且该路径上所经过的节点值的和等于给定的sum值。
3. 示例:
给定以下二叉树,sum = 22,返回值为true, 原因是存在路径 5 -> 4 -> 11 -> 2的和为22
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
4. 解决方案 1:
bool hasPathSum(TreeNode* root, int sum) {
if(root == nullptr){
return false;
}else if(root->left == nullptr && root->right == nullptr && root->val == sum){
return true;
}else{
return hasPathSum(root->left, sum-root->val) || hasPathSum(root->right, sum - root->val);
}
}