剑指 Offer II 049. 从根节点到叶节点的路径数字之和
例子 帮助理解题目意思
代码实现
思路:
dfs深度遍历,用一个参数去记录当前路径展示的数字,直到自己是叶子节点才会返回path值
var sumNumbers = function (root) {
const dfs = (root, path) => {
if (root == null) {
return 0;
}
path = path * 10 + root.val;
if (!root.left && !root.right) {
return path;
}
return dfs(root.left, path) + dfs(root.right, path);
};
return dfs(root, 0);
};
代码调试
var obj = {
val: 4,
left: {
val: 9,
left: {
val: 5,
left: null,
right: null,
},
right: {
val: 1,
left: null,
right: null,
},
},
right: {
val: 0,
left: null,
right: null,
},
};
console.log(sumNumbers(obj));