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 public class Solution { 2 public int sumNumbers(TreeNode root) { 3 int []sum = new int[1]; 4 get(root,0,sum); 5 return sum[0]; 6 } 7 public void get(TreeNode root,int path,int[] sum){ 8 if(root==null) return; 9 path = 10*path+root.val; 10 if(root.left==null && root.right==null){ 11 sum[0]+=path; 12 return; 13 } 14 get(root.left,path,sum); 15 get(root.right,path,sum); 16 } 17 }