129. 求根节点到叶节点数字之和

给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。
每条从根节点到叶节点的路径都代表一个数字:

例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。
计算从根节点到叶节点生成的 所有数字之和 。

叶节点 是指没有子节点的节点。

链接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
let total = 0

function sumNumbers(root: TreeNode | null): number {
if (root === null) return 0
total = 0
traverse(root, [])
return total
};

function traverse(root: TreeNode | null, nodeList: number[]) {
if (root === null) {
return
}
nodeList.push(root.val)
if (root.left === null && root.right === null) {
total += Number(nodeList.join(''))
return
}
traverse(root.left, nodeList.slice(0))
traverse(root.right, nodeList.slice(0))
}