129. Sum Root to Leaf Numbers

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

An example is the root-to-leaf path1->2->3which represents the number123.

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

For example,

    1
   / \
  2   3

The root-to-leaf path1->2represents the number12.
The root-to-leaf path1->3represents the number13.

Return the sum = 12 + 13 =25.

思路1:用preorder也就是DFS

public class Solution {
    public int sumNumbers(TreeNode root) {
        int res = sum(root, 0);
        return res;
    }

    public int sum(TreeNode root, int s){
        if (root==null) return 0;

        int currSum = s*10+root.val;
        if (root.left==null&&root.right==null) return currSum;

        return sum(root.left, currSum)+sum(root.right, currSum);
    }
}

results matching ""

    No results matching ""