129. Sum Root to Leaf Numbers
来源:互联网 发布:mysql fetch object 编辑:程序博客网 时间:2024/06/06 18:27
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 binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: struct Qnode { int sum_; TreeNode* p_; Qnode(int s, TreeNode *p):sum_(s),p_(p){} Qnode(){} }; int sumNumbers(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. if(root == NULL)return 0; queue<Qnode> myqueue; myqueue.push(Qnode(root->val, root)); int res = 0; while(myqueue.empty() == false) { Qnode tmp = myqueue.front(); myqueue.pop(); if(tmp.p_->left == NULL && tmp.p_->right == NULL) res += tmp.sum_; else { if(tmp.p_->left != NULL) myqueue.push(Qnode(tmp.sum_*10 + tmp.p_->left->val, tmp.p_->left)); if(tmp.p_->right != NULL) myqueue.push(Qnode(tmp.sum_*10 + tmp.p_->right->val, tmp.p_->right)); } } return res; }};
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
- 设计模式—工厂模式(Factory Pattern)
- 继承与base
- 黑马程序员 多线程
- 《算法导论》第一讲
- Ural1114 Boxes【DP】
- 129. Sum Root to Leaf Numbers
- 归并排序
- 如何实现文件的断点续传,文件下载
- SQLServer With As 用法
- HDU 2563 统计问题(递推)
- HDU-2111 Saving HDU
- Reward 2647 (拓扑排序+邻接表)
- Summary for week5
- ImageView scaleType