By: Saurav
2018-01-18 03:10:00 UTC
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 % 1003.
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) % 1003 = 25 % 1003 = 25.
This is a similar problem as the last few problems.
Algo:
Thinking recursively and adding the current_sum * 10 to the current node for each subtree and finally adding all the subtree result is the right approach.
Lets see it in action:
def sumNumbers(a) return traverse(a,0) % 1003 end def traverse(a,sum) return 0 if !a return (a.data + sum*10) if !a.left and !a.right return traverse(a.left, sum*10+a.data) + traverse(a.right, sum*10+a.data) end
Owned & Maintained by Saurav Prakash
If you like what you see, you can help me cover server costs or buy me a cup of coffee though donation :)