常规的树的遍历
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
const sumRootToLeaf = function (root) {
let res = { sum: 0 }, temp = root.val;
sumRootToLeafHelper(root, temp, res);
return res.sum;
};
const sumRootToLeafHelper = function (p, temp, res) {
if (p.left === null && p.right === null) {
res.sum += temp;
}
if (p.left) sumRootToLeafHelper(p.left, temp*2 + p.left.val, res);
if (p.right) sumRootToLeafHelper(p.right, temp*2 + p.right.val, res);
}