LeetCode 112. 路径总和

描述

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。

说明: 叶子节点是指没有子节点的节点。

注意点:
必须联通到叶节点

分析

从根节点开始,每当遇到一个节点的时候,从目标值里扣除节点值,一直到叶子节点判断目标值是不是被扣完。

解答

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);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和...
    topshi阅读 281评论 0 2
  • 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: ...
    饼干不干阅读 464评论 0 50
  • 代码如下:
    JunfengsBlog阅读 864评论 1 1
  • 题目链接难度:简单 类型: 二叉树、深度优先搜索、递归 给定一个二叉树和一个目标和,判断该树中...
    wzNote阅读 350评论 0 0
  • 下面示例分别示例了函数内数组,数组作为参数,数组作为返回值 7 void Show(char szBuffer[]...
    Justin_901e阅读 333评论 0 0

友情链接更多精彩内容