[Leetcode 129, Medium] Sum Root to Leaf Number
来源:互联网 发布:软件质量标准认证证书 编辑:程序博客网 时间:2024/06/07 00:36
Problem:
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
.
Analysis:
Solutions:
C++:
int ArrayToNumber(const vector<int>& array) { int size = array.size(); int value = 0; for(int i = 0; i < size; ++i) { value *= 10; value += array[i]; } return value; } int sumNumbers(TreeNode* root) { if(root == NULL) return 0; int sum = 0; TreeNode *p_cur = root; TreeNode *p_visited = NULL; stack<TreeNode *> node_stack; vector<int> array_number; while(p_cur || !node_stack.empty()) { if(p_cur) { node_stack.push(p_cur); array_number.push_back(p_cur->val); p_cur = p_cur->left; } else { p_cur = node_stack.top(); if(p_cur->right == NULL || p_cur->right == p_visited) { if(p_cur->right == NULL && p_cur->left == NULL) sum += ArrayToNumber(array_number); p_visited = p_cur; node_stack.pop(); array_number.erase(array_number.end() - 1); p_cur = NULL; } else p_cur = p_cur->right; } } return sum; }Java:
Python:
0 0
- [Leetcode 129, Medium] Sum Root to Leaf Number
- Leetcode OJ 129 Sum Root to Leaf Numbers [Medium]
- Leetcode: Sum Root to Leaf Number
- Sum root to leaf number - LeetCode
- Leetcode 129. Sum Root to Leaf Numbers (Medium) (cpp)
- LeetCode 129: Sum Root to Leaf Numbers
- LeetCode: Sum Root to Leaf Numbers [129]
- LeetCode 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
- leetcode-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
- Sum Root to Leaf Numbers - LeetCode 129
- LeetCode 129 Sum Root to Leaf Numbers
- LeetCode(129) Sum Root to Leaf Numbers
- Eclipse
- XML学习笔记(三)---xml解析及具体实现
- 3D打印
- 3d打印机
- 刚体
- [Leetcode 129, Medium] Sum Root to Leaf Number
- ACM暑期计划——第六天
- 【LeetCode-面试算法经典-Java实现】【015-3 Sum(三个数的和)】
- 使用umlet画序列图
- 【LeetCode-面试算法经典-Java实现】【016-3 Sum Closest(最接近的三个数的和)】
- ideaIU14.4配置cocos2d-js环境
- 大型互联网web系统架构_总体架构
- 【LeetCode-面试算法经典-Java实现】【017-Letter Combinations of a Phone Number (电话号码上的单词组合)】
- 【UNIX环境高级编程】文件 IO 操作 一 ( open | close | creat | lseek | write | read )