思路:定義兩個隊列,一個用來放節點,一個用來放當前節點表示的數,遍歷節點,直到每個節點到達葉節點爲該條路徑的最後值,每到達一個葉節點, 就把值給到和的變量sum累加
算法思想: 隊列
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var sumNumbers = function(root) {
if(root === null) return 0;
let queue_node = [root];
let queue_num = [root.val];
let sum = 0;
while(queue_node.length > 0){
let node = queue_node.shift();
let num = queue_num.shift();
if(node.left === null && node.right === null){
sum += num;
} else {
if(node.left){
queue_node.push(node.left);
queue_num.push(10*num + node.left.val);
console.log(num, node.left.val);
}
if(node.right){
queue_node.push(node.right);
queue_num.push(10*num + node.right.val);
}
}
}
return sum;
};