# SUM ROOT TO LEAF NUMBERS

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.

InterviewBit

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```

Looks good to me.

### Let me know what you think! twitter: sprakash24octlinkedin

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 :) 