Monday, July 14, 2014

[Leetcode] Sum Root to Leaf Numbers

Problem

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.

Algorithm

Let pathNumber be a number represented by the path from root to current node. Since this node's value is the new least significant digit of this number 
                                        pathNumber = pathNumber*10 + cur.val. 
If current node is a leaf node, pathNumber is a root-to-leaf number. Adding all these root-to-leaf numbers, we get the final result. 

Code


No comments:

Post a Comment