129. Sum Root to Leaf Numbers
来源:互联网 发布:淘宝里的视频怎么转发 编辑:程序博客网 时间:2024/06/08 07:06
129. Sum Root to Leaf Numbers
Given a binary tree containing digits from
0-9
only, each root-to-leaf path could represent a number.
An example is the root-to-leaf path1->2->3
which represents the number123
.
Find the total sum of all root-to-leaf numbers.
For example,
1 / \ 2 3
The root-to-leaf path
1->2
represents the number12
.
The root-to-leaf path1->3
represents the number13
.
Return the sum = 12 + 13 =25
.
题目大意
从根结点到达叶子结点的路径代表一个数字,例如1->2->3
代表数字123
.
找到所有的路径所代表的数字,计算它们的和。
解题思路
利用DFS,终止条件为当前访问节点为空,或者没有子节点(即为叶子结点)。在当前访问节点不为空时,将当前结果向左移1个单位(十进制),即乘以10,并加上当前结点的值。
当存在子节点时,递归调用dfs,访问其子节点,并传入当前的结果。
算法复杂度
代码实现
/** * 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 {public: int sumNumbers(TreeNode* root) { return dfs(root, 0); } int dfs(TreeNode* root, int result) { // 空节点 if (root == nullptr) return 0; // 子节点 if (root->left == nullptr && root->right == nullptr) return result*10 + root->val; return dfs(root->left, result*10 + root->val) \ + dfs(root->right, result*10+ root->val); }};
阅读全文
0 0
- [LeetCode]129.Sum Root to Leaf Numbers
- LeetCode 129. Sum Root to Leaf Numbers
- [leetcode] 129.Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- 【leetcode】129. Sum Root to Leaf Numbers
- [leetcode] 129. Sum Root to Leaf Numbers
- [LeetCode]129. Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers LeetCode
- [LeetCode]129. Sum Root to Leaf Numbers
- leetcode 129. Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- Leetcode 129. Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- LeetCode *** 129. Sum Root to Leaf Numbers
- LeetCode-129.Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers
- NOIP模拟10.22
- 大数据学习23:hadoop-2.6.0-cdh5.7.0 编译,支持 native 和 snappy
- Ionic 简易侧拉框
- Photoshop——APP设计规范
- Android ImageView
- 129. Sum Root to Leaf Numbers
- BZOJ 1047 [HAOI2007]理想的正方形
- 摩尔斯密码简介
- 10.22周日
- Spark源码走读(三) —— Stage的划分和提交
- 将centos作为远程服务器,连接并上传文件
- java 1.8 集合源码解析1:Iterable和Iterator
- 数据库与连接池技术
- 饿了么webapp之块级盒子垂直相邻margin重叠