mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-24 00:57:05 +08:00
新增129. 求根节点到叶节点数字之和版本
This commit is contained in:
@ -241,6 +241,48 @@ class Solution:
|
|||||||
Go:
|
Go:
|
||||||
|
|
||||||
JavaScript:
|
JavaScript:
|
||||||
|
```javascript
|
||||||
|
var sumNumbers = function(root) {
|
||||||
|
const listToInt = path => {
|
||||||
|
let sum = 0;
|
||||||
|
for(let num of path){
|
||||||
|
// sum * 10 表示进位
|
||||||
|
sum = sum * 10 + num;
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
const recur = root =>{
|
||||||
|
if (root.left == null && root.right == null) {
|
||||||
|
// 当是叶子节点的时候,开始处理
|
||||||
|
res += listToInt(path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (root.left != null){
|
||||||
|
// 注意有回溯
|
||||||
|
path.push(root.left.val);
|
||||||
|
recur(root.left);
|
||||||
|
path.pop();
|
||||||
|
}
|
||||||
|
if (root.right != null){
|
||||||
|
// 注意有回溯
|
||||||
|
path.push(root.right.val);
|
||||||
|
recur(root.right);
|
||||||
|
path.pop();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
const path = new Array();
|
||||||
|
let res = 0;
|
||||||
|
// 如果节点为0,那么就返回0
|
||||||
|
if (root == null) return 0;
|
||||||
|
// 首先将根节点放到集合中
|
||||||
|
path.push(root.val);
|
||||||
|
// 开始递归
|
||||||
|
recur(root);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user