题解 | #二叉树中和为某一值的路径(一)#

二叉树中和为某一值的路径(一)

https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c

二叉树中和为某一值的路径(一):最直观的想法是,因为要找从根节点到叶子节点的路径,故直接采用前序遍历即可。当当前节点为空节点则直接返回false,反之当当前结点为叶子节点即当前节点不为空但是当前节点的左右子树均为空并且当前节点值等于给定值则表明当前路径满足要求故返回true。接着依次遍历当前左或右子树找目标和为给定值减去当前节点值的路径是否存在并返回即可。

bool dfs(TreeNode* root, int sum)
{
    // 一定加上这句 即当前节点为空 直接返回false 因为一定是前面不满足才继续调用的
    if(!root)
       return false;
    // 叶子结点且其值等于给定求和
    if(root && !root->left && !root->right && root->val==sum)
       return true;
    // 如果在这里加上叶子结点且其值不等于给定和返回false只是一部分 没有给定单亲结点的情况
    bool left = dfs(root->left,sum-root->val);
    bool right = dfs(root->right,sum-root->val);
    return left || right;
}
bool hasPathSum(TreeNode* root, int sum) 
{
    // 空数返回false
    if(!root)
      return false;
    return dfs(root,sum);
}

#二叉树中和为某一值的路径(一)(37469)#
剑指offer 文章被收录于专栏

剑指offer专栏主要分享剑指offer题解。

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4459次浏览 78人参与
# 找AI工作可以去哪些公司? #
10134次浏览 317人参与
# 厦门银行科技岗值不值得投 #
8242次浏览 188人参与
# 你的实习产出是真实的还是包装的? #
20825次浏览 346人参与
# 从事AI岗需要掌握哪些技术栈? #
9839次浏览 391人参与
# 春招至今,你的战绩如何? #
67871次浏览 599人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15717次浏览 229人参与
# AI面会问哪些问题? #
29148次浏览 633人参与
# 你做过最难的笔试是哪家公司 #
36013次浏览 315人参与
# 中国电信笔试 #
32394次浏览 302人参与
# 金三银四,你的春招进行到哪个阶段了? #
22565次浏览 284人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
341233次浏览 2176人参与
# 同bg的你秋招战况如何? #
212267次浏览 1121人参与
# 哪些公司真双非友好? #
69823次浏览 289人参与
# 如何准备秋招 #
78324次浏览 868人参与
# 阿里笔试 #
179462次浏览 1324人参与
# 应届生被毁约被毁意向了怎么办 #
63354次浏览 305人参与
# 机械人避雷的岗位/公司 #
62727次浏览 393人参与
# 小马智行求职进展汇总 #
25151次浏览 80人参与
# 第一份工作一定要去大厂吗 #
15213次浏览 124人参与
# 担心入职之后被发现很菜怎么办 #
291432次浏览 1210人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26324次浏览 310人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务