给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。

例如,从根到叶子节点路径 1->2->3 代表数字 123

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

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

示例 1:

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

示例 2:

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

我的错误:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {long long maxValue = 0;//记录路径值
public:int sumNumbers(TreeNode* root) {vector<int> v;helper(root,v);return maxValue;        } void helper(TreeNode* root,vector<int> v){if(root==NULL) return; v.push_back(root->val);if(!root->left && !root->right) //到叶子结点了{long long value = 0;for(int i = 0; i < v.size();i++){value += value*10+v[i];}maxValue += value;v.pop_back();return;}helper(root->left,v);helper(root->right,v);v.pop_back();return;}
};

大佬:

这个昵称不太火

class Solution {
public://一版int helper(TreeNode* root, int sum){if(!root)return 0;else if (!root->left && !root->right)return 10*sum + root->val;return helper(root->left, 10*sum + root->val) + helper(root->right, 10*sum + root->val);}int sumNumbers(TreeNode* root) {return helper(root, 0);}
};

leetcode -- 129. 求根到叶子节点数字之和相关推荐

  1. LeetCode 129. 求根到叶子节点数字之和(DFS)

    1. 题目 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节 ...

  2. leetcode 129. 求根到叶子节点数字之和(先序遍历)

    给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字.例如,从根到叶子节点路径 1->2->3 代表数字 123.计算从根到叶子节点生成的所有数字 ...

  3. Leetcode 129. 求根到叶子节点数字之和 解题思路及C++实现

    解题思路: 经典的DFS问题. /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left ...

  4. 10.13(129. 求根到叶子节点数字之和 130. 被围绕的区域)

    129. 求根到叶子节点数字之和(通过) 思路:递归,前序遍历的应用 效率:100% 程序代码: /*** Definition for a binary tree node.* struct Tre ...

  5. 叶子结点和分支节点_leetcode No.129 求根到叶子节点数字之和

    题目链接: 求根到叶子节点数字之和 - 力扣(LeetCode)​leetcode-cn.com 题目描述: 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个 ...

  6. 【Leetcode | 42】129. 求根到叶子节点数字之和

    给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节点生成的所有 ...

  7. 消除左递归c++代码_「leetcode」129. 求根到叶子节点数字之和【递归中隐藏着回溯】详解...

    链接 https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/ 思路 本题和113.路径总和II是类似的思路,做完这道题,可以顺便把113. ...

  8. 力扣解题——求根到叶子节点数字之和

    难度:中等 题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到 ...

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

    力扣 求根到叶子节点数字之和 题目描述 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 ...

最新文章

  1. J2EE的十三个规范
  2. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — iptables NAPT 网络地址/端口转换
  3. Android多线程死锁定位,Java---多线程之死锁
  4. 两个Fragment之间如何传递数据
  5. Xposed源码剖析——Xposed初始化
  6. AOP——基于AspectJ的注解来实现AOP操作
  7. Ubuntu虚拟机及Petalinux开发平台安装
  8. 微擎自动回复 加粉丝名_如何一天加100个精准粉丝?蒋老师告诉你系统的套路和方法...
  9. matlab误差分析报告,误差分析实验报告
  10. matlab将数据集分成训练集和测试集,Matlab实现 把数据集X分割成训练集和测试集...
  11. 90后程序员的头发危机
  12. 许丹萍 计算机系,【晋江市“十佳少先队辅导员”】第二实验小学老师许丹萍: 关注每一个队员的成长...
  13. xavier / acts-as-tree-with-dotted-ids
  14. client?0edb:161 [WDS] Errors while compiling. Reload prevented.
  15. 编程趣味知识:固执的“and”和变通的“or”
  16. NOIP学习之循环控制:26.质因数分解
  17. Elasticsearch学习2 SpringBoot整合 测试复杂检索
  18. RabbitMQ(消息队列)浅记
  19. 解决jsp页面浏览器不兼容,样式变样问题
  20. 性能测试指标之业务指标和技术指标如何进行区别

热门文章

  1. 网狐棋牌(五) TCPSocketEnging分析
  2. CSocket文件传输 分段传输的关键代码
  3. RTC 技术知识体系
  4. 数据结构与算法 | 归并排序
  5. Jedis对redis的操作详解
  6. LVS+Keepalived实现负载均衡和双机热备
  7. SpringMVC + Apache POI 实现WEB中Excel下载功能
  8. 美摄 - 助力打造完善的音视频解决方案
  9. QUIC DataChannels的第一步
  10. Ubuntu下搭建Janus Server