描述
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径
,这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
注意点:
必须联通到叶节点
分析
从根节点开始,每当遇到一个节点的时候,从目标值里扣除节点值,一直到叶子节点判断目标值是不是被扣完。
解答
bool hasPathSum(struct TreeNode *root, int sum) {
if (root == NULL) {
return false;
}
sum -= root->val;
if (root->left == NULL && root->right == NULL) {
return sum == 0;
} else {
return hasPathSum(root->left, sum) || hasPathSum(root->right, sum);
}
}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦