129. 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.

 1 class Solution {
 2     public int sumNumbers(TreeNode root) {
 3      return sum(root,0);
 4     }
 5     private int sum(TreeNode root,int s) {
 6         //s 上一层的累积和
 7         if(root==null) return 0;
 8         if(root.left==null && root.right==null) //遍历到叶子节点 
 9             return s*10+root.val;
10         return sum(root.left,s*10+root.val)+sum(root.right,s*10+root.val);
11     }
12 }
原文地址:https://www.cnblogs.com/zle1992/p/8337875.html