每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和

这篇具有很好参考价值的文章主要介绍了每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

力扣129. 求根节点到叶节点数字之和

解析代码


力扣129. 求根节点到叶节点数字之和

129. 求根节点到叶节点数字之和

难度 中等

给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。

每条从根节点到叶节点的路径都代表一个数字:

  • 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。

计算从根节点到叶节点生成的 所有数字之和 。

叶节点 是指没有子节点的节点。

示例 1:

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和,每日OJ题,深度优先,leetcode,算法,c++,dfs,回归算法,逻辑回归

输入:root = [1,2,3]
输出:25
解释:
从根到叶子节点路径 1->2 代表数字 12
从根到叶子节点路径 1->3 代表数字 13
因此,数字总和 = 12 + 13 = 25

示例 2:

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和,每日OJ题,深度优先,leetcode,算法,c++,dfs,回归算法,逻辑回归

输入:root = [4,9,0,5,1]
输出:1026
解释:
从根到叶子节点路径 4->9->5 代表数字 495
从根到叶子节点路径 4->9->1 代表数字 491
从根到叶子节点路径 4->0 代表数字 40
因此,数字总和 = 495 + 491 + 40 = 1026

提示:

  • 树中节点的数目在范围 [1, 1000] 内
  • 0 <= Node.val <= 9
  • 树的深度不超过 10
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int sumNumbers(TreeNode* root) {

    }
};

解析代码

也是dfs的代码,要把当前值传下去,递归下面的①②③④步:

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和,每日OJ题,深度优先,leetcode,算法,c++,dfs,回归算法,逻辑回归文章来源地址https://www.toymoban.com/news/detail-831436.html

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int sumNumbers(TreeNode* root) {
        return dfs(root, 0);
    }

    int dfs(TreeNode* root, int sum)
    {
        sum = sum*10 + root->val;
        if(root->left == nullptr && root->right == nullptr)
            return sum;

        int ret = 0;
        if(root->left) // 如果左子树不为空
            ret += dfs(root->left, sum);
        if(root->right)
            ret += dfs(root->right, sum);
        return ret;
        
    }
};

到了这里,关于每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • leetcode 129. 求根节点到叶节点数字之和

    给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 - 2 - 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数字之和 。 叶节点 是指没有子节点的节点。 示例 1:

    2023年04月23日
    浏览(37)
  • leetcode做题笔记129. 求根节点到叶节点数字之和

    给你一个二叉树的根节点  root  ,树中每个节点都存放有一个  0  到  9  之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径  1 - 2 - 3  表示数字  123  。 计算从根节点到叶节点生成的  所有数字之和  。 叶节点  是指没有子节点

    2024年02月09日
    浏览(36)
  • Leetcode129. 求根到叶子节点数字之和

    力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个二叉树的根节点  root  ,树中每个节点都存放有一个  0  到  9  之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶子节点的路径  1 - 2 - 3  表示数字  123  。 计算从根节点到叶节

    2024年02月09日
    浏览(37)
  • 力扣---二叉树OJ题(多种题型二叉树)

    👧 个人主页 :@小沈熬夜秃头中୧⍤⃝❅ 😚 小编介绍 :欢迎来到我的乱七八糟小星球🌝 📋 专栏 :力扣—LeetCode刷题 🔑 本章内容 :力扣—二叉树OJ题 送给各位 💌:活着就意味着要必须做点什么 请好好努力 欢迎 评论📝 +点赞👍 +收藏😽 +关注💞哦~ 提示:以下是本篇

    2024年02月07日
    浏览(42)
  • 每日OJ题_DFS回溯剪枝⑨_力扣39. 组合总和(两种思路)

    目录 力扣39. 组合总和 解析代码1 解析代码2 39. 组合总和 LCR 081. 组合总和 难度 中等 给你一个  无重复元素  的整数数组  candidates  和一个目标整数  target  ,找出  candidates  中可以使数字和为目标数  target  的 所有   不同组合  ,并以列表形式返回。你可以按  任意顺序

    2024年04月28日
    浏览(33)
  • 每日一练:LeeCode-654、最大二叉树【二叉树+DFS+分治】

    本文是力扣LeeCode-654、最大二叉树【二叉树+DFS+分治】 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定一个 不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建 一个根节点 , 其值为 nums 中的最大值 。 递归

    2024年02月21日
    浏览(44)
  • 每日OJ题_算法_递归④力扣24. 两两交换链表中的节点

    目录 ④力扣24. 两两交换链表中的节点 解析代码 24. 两两交换链表中的节点 难度 中等 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 示例 2: 示例 3: 提示: 链表

    2024年02月20日
    浏览(43)
  • 力扣日记1.11-【二叉树篇】450. 删除二叉搜索树中的节点

    日期:2024.1.11 参考:代码随想录、力扣 题目描述 难度:中等 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首

    2024年01月23日
    浏览(43)
  • 数据结构刷题篇 之 【力扣二叉树基础OJ】详细讲解(含每道题链接及递归图解)

    有没有一起拼用银行卡的,取钱的时候我用,存钱的时候你用 难度等级:⭐ 直达链接:相同的树 难度等级:⭐ 直达链接:单值二叉树 难度等级:⭐⭐ 直达链接:对称二叉树 难度等级:⭐⭐⭐ 直达链接:二叉树的前序遍历 难度等级:⭐⭐⭐⭐ 直达链接:另一颗子树 注:

    2024年04月16日
    浏览(80)
  • 每日一题:leetcode 1448 统计二叉树中好节点的数目

    给你一棵根为  root  的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 示例 2: 示例 3: 提示: 二叉树中节点数目范围是  [1, 10^5]  。 每个节点权值的范围是  [-10^4, 10^4]  。 思路

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包