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.
这道题挺简单哒~~~
广度优先遍历就好啦~
var sumNumbers = function(root) {
if (!root)
return 0;
var result = 0;
var s = [root];
while (s.length!==0) {
var temp = s.pop();
if (!temp.left&&!temp.right)
result += temp.val;
else {
if (temp.left) {
temp.left.val += temp.val*10;
s.push(temp.left);
}
if (temp.right) {
temp.right.val += temp.val*10;
s.push(temp.right);
}
}
}
return result;
};
网友评论