129. Sum Root to Leaf Numbers


Problem

https://leetcode.com/problems/sum-root-to-leaf-numbers/

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,

    1
   / \
  2   3

The root-to-leaf path 1->2 represents the number 12. The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.

Solution

DFS

/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number}
 */
var sumNumbers = function(root) {

    function helperFunc(node, num) {
        if (!node) { return 0 }
        num = num * 10 + node.val
        if (!node.left && !node.right) {
            return num
        }
        return helperFunc(node.left, num) + helperFunc(node.right, num)
    }

    return helperFunc(root, 0)
};

results matching ""

    No results matching ""