129. Sum Root to Leaf Numbers
来源:互联网 发布:linux分頁地址 编辑:程序博客网 时间:2024/06/06 00:21
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 path 1->2->3
which represents the number 123
.
Find the total sum of all root-to-leaf numbers.
For example,
1 / \ 2 3
The root-to-leaf path 1->2
represents the number 12
.
The root-to-leaf path 1->3
represents the number 13
.
Return the sum = 12 + 13 = 25
.
题目翻译: 给定一棵二叉树,仅包含0到9这些数字,每一条从根节点到叶节点的路径表示一个数。例如,
路径 1->2->3 表示数值123。求出所有路径表示的数值的和。 上述例子中,路径 1->2 表示数值12,路
径 1->3 表示数值13。它们的和是25。
题目分析: 从根节点到叶节点的遍历方法是深度优先搜索(DFS)。解决本题只需在遍历过程中记录路径中的
数字,在到达叶节点的时候把记录下来的数字转换成数值,加到和里面即可。
代码如下:
class Solution {
public:
int sumNumbers(TreeNode* root) {
vector<int> arr;
int sum = 0;
dfs(root, arr, sum);
return sum;
}
int vec2num(vector<int>& vec) {
int num = 0;
for (auto n : vec) {
num = num * 10 + n;
}
return num;
}
void dfs(TreeNode* node, vector<int>& arr, int& sum) {
if (node == nullptr) return;
arr.push_back(node->val);
if (node->left == nullptr && node->right == nullptr) {
sum += vec2num(arr);
}
else {
if (node->left != nullptr) dfs(node->left, arr, sum);
if (node->right != nullptr) dfs(node->right, arr, sum);
}
arr.pop_back();
}
};
- [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
- macOS系统安装eclipse svn插件及问题解决
- 解决运行ASP.NET MVC项目时,因版本不一致导致无法运行的问题
- android studio 官网下载+安装(win7)
- HDU--2191(多重背包)
- Intersection of Two Arrays
- 129. Sum Root to Leaf Numbers
- [编程之美-11]字符串的全排列问题
- HBCTF——WriteUp&&涨姿势(3)
- 08---进程控制
- Share a peice of movie script from Rocky Ⅵ which I love the most.
- FragmentPagerAdapter
- bn 层及其变种
- JSP总结
- 2017GDCPC省赛总结