leetcode

我的 leetcode 题解(JavaScript)


常规的树的遍历

/**
 * 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);
}