129. Sum Root to Leaf Numbers
来源:互联网 发布:最优化理论 教材 编辑:程序博客网 时间:2024/05/29 16:16
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
.
思路:找出各个路径的数字,然后求和。
/** * 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) {if (root == NULL)return 0;int sum = 0;getPathString(root, "", sum);return sum;}private:void getPathString(TreeNode* root, string cur, int& sum){if (root->left == NULL && root->right == NULL){cur += to_string(root->val);sum += atoi(cur.c_str());return;}if (root->left){getPathString(root->left, cur + to_string(root->val), sum);}if (root->right){getPathString(root->right, cur + to_string(root->val), sum);}return;}};
思路2:上述思路路径信息的保存用的是string,以下思路路径信息用int值存储。
/** * 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) {if (root == NULL)return 0;int sum = 0;getPathString(root, 0, sum);return sum;}private:void getPathString(TreeNode* root, int cur, int& sum){cur *= 10;cur += root->val;if (root->left == NULL && root->right == NULL){sum += cur;return;}if (root->left){getPathString(root->left, cur, sum);}if (root->right){getPathString(root->right, cur, sum);}return;}};
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
- 【译文】城市相似性的可视化:美国和冰岛的相似之处
- 什么叫“证明”
- 马上要参加数据工程师面试?花一分钟看看这个速读书籍列表!
- <Android 基础(十四)> selector
- 【译文】如何利用机器学习和分布式计算来对用户事件进行分类
- 129. Sum Root to Leaf Numbers
- 【译文】深度神经网络入门手册
- 全文检索Lucene(一)--Document操作与文本域加权
- 【译文】数据科学的统计学入门
- NYOJ 228 士兵杀敌(五) (巧用数组)
- 前缀"a-"的使用规律
- gcc编译c问题
- php中使用include(require)嵌套包含文件时的一些注意问题
- 07.05C