leetcode做题笔记129. 求根节点到叶节点数字之和

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

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

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

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

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

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

思路一:递归

int helper(struct TreeNode *root, int prevSum){
    if (root == NULL) return 0;
    int sum = prevSum * 10 + root->val;
    if (root->left == NULL && root->right == NULL)
        return sum;
    else
        return helper(root->left, sum) + helper(root->right, sum);
}


int sumNumbers(struct TreeNode* root){
    if (root == NULL) return 0;
    return helper(root, 0);
}

分析:

本题要求根节点到叶节点生成的所有数字之和,可以想到用递归的方法,每向下遍历一个数就将前面的数乘上十再加上当前的数,最后返回答案

总结:

本题考察二叉树的递归应用,将每个节点的数遍历完后再返回答案即可解决文章来源地址https://www.toymoban.com/news/detail-699908.html

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

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

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

相关文章

  • Leetcode129. 求根到叶子节点数字之和

    Leetcode129. 求根到叶子节点数字之和

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

    2024年02月09日
    浏览(14)
  • 代码随想录额外题目| 二叉树 ●129求根到叶数字之和 ●1382二叉树变平衡●100相同的树

    #129求根到叶数字之和 回溯放进vector,然后从后往前拿,乘1 10 100 ... 很基础的回溯 my code: 随想录跟我思路差不多,但这两个是放globa的:int result; vectorint path; 最近总觉得global不安全不想放  #1382二叉树变平衡 本来遇到这种会换root的就头疼,然后看了眼随想录,是要先变成

    2024年02月14日
    浏览(12)
  • 面试算法49:从根节点到叶节点的路径数字之和

    面试算法49:从根节点到叶节点的路径数字之和

    在一棵二叉树中所有节点都在0~9的范围之内,从根节点到叶节点的路径表示一个数字。求二叉树中所有路径表示的数字之和。例如,图8.4的二叉树有3条从根节点到叶节点的路径,它们分别表示数字395、391和302,这3个数字之和是1088。 首先考虑如何计算路径表示的数字。顺着

    2024年02月06日
    浏览(8)
  • leetcode做题笔记116. 填充每个节点的下一个右侧节点指针

    给定一个  完美二叉树  ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为  NULL 。 初始状态下,所有 next 指针都被设置为  NULL 。

    2024年02月10日
    浏览(11)
  • leetcode 1022.从根到叶的二进制数之和

    leetcode 1022.从根到叶的二进制数之和

    🌟 leetcode链接:https://leetcode.cn/problems/sum-of-root-to-leaf-binary-numbers/description/ 代码: 递归展开图:

    2024年02月10日
    浏览(9)
  • ​LeetCode解法汇总1080. 根到叶路径上的不足节点

    ​LeetCode解法汇总1080. 根到叶路径上的不足节点

    https://github.com/September26/java-algorithms 给你二叉树的根节点  root  和一个整数  limit  ,请你同时删除树中所有  不足节点  ,并返回最终二叉树的根节点。 假如通过节点  node  的每种可能的 “根-叶” 路径上值的总和全都小于给定的  limit ,则该节点被称之为  不足节点 

    2024年02月06日
    浏览(11)
  • leetcode做题笔记54

    给你一个  m  行  n  列的矩阵  matrix  ,请按照  顺时针螺旋顺序  ,返回矩阵中的所有元素。 时间复杂度O(n^2),空间复杂度O(n) 本题要按顺时针螺旋顺序输出矩阵内的数,可想到利用循环模拟题意作答,设置left,right,up,down来限制输出,使res数组按顺时针顺序存储,最

    2024年02月14日
    浏览(11)
  • leetcode做题笔记45

    给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 = j = nums[i]  i + j n 返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

    2024年02月15日
    浏览(9)
  • leetcode做题笔记53

    给你一个整数数组  nums  ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组  是数组中的一个连续部分。 时间复杂度O(n),空间复杂度O(1) 本题要求最大子数组和,可考虑先求出每个元素的前缀和,再判断是否前缀和加现元素是否

    2024年02月14日
    浏览(11)
  • leetcode做题笔记58

    给你一个字符串  s ,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中  最后一个  单词的长度。 单词  是指仅由字母组成、不包含任何空格字符的最大子字符串。 本题要求最后一个单词长度,只需从后向前遍历,ans不断增加,一旦遇到空格则输出ans的值 本

    2024年02月14日
    浏览(11)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包