Sum Root to Leaf Numbers
Desicription
Given a binary tree containing digits from 09
only, each roottoleaf path could represent a number.
An example is the roottoleaf path 1>2>3
which represents the number 123
.
Find the total sum of all roottoleaf numbers.
Note: A leaf is a node with no children.
Example:
1 2 3 4 5 6 7 8 9
 Input: [1,2,3] 1 / \ 2 3 Output: 25 Explanation: The roottoleaf path 1>2 represents the number 12. The roottoleaf path 1>3 represents the number 13. Therefore, sum = 12 + 13 = 25.

Example 2:
1 2 3 4 5 6 7 8 9 10 11 12
 Input: [4,9,0,5,1] 4 / \ 9 0 / \ 5 1 Output: 1026 Explanation: The roottoleaf path 4>9>5 represents the number 495. The roottoleaf path 4>9>1 represents the number 491. The roottoleaf path 4>0 represents the number 40. Therefore, sum = 495 + 491 + 40 = 1026.

Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
 class Solution { public: int sumNumbers(TreeNode* currentRoot, int currentSum = 0) { if(currentRoot == NULL) return 0; if(currentRoot>left == NULL && currentRoot>right == NULL) return currentSum * 10 + currentRoot>val; return sumNumbers(currentRoot>left, currentSum * 10 + currentRoot>val) + sumNumbers(currentRoot>right, currentSum * 10 + currentRoot>val); } };
