Given a binary tree containing digits from only 0-9
, 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 = + = 25
.
Simple recursive can be implemented, the code is as follows:
1 classSolution {2 Public:3 intSumnumbers (treenode*root) {4 if(!root)return 0;5DFS (Root,0);6 }7 8 intDFS (TreeNode * root,intCurr) {9 if(!root->left &&!root->right)returnCurr;Ten if(!root->left && root->right)returnDFS (root->right, Curr *Ten); One if(Root->left &&!root->right)returnDFS (Root->left, Curr *Ten); A Else returnDFS (Root->left, Curr *Ten) + DFS (root->right, Curr *Ten); - } - Private: the intsum; -};
Leetcode oj:sum root to Leaf Numbers (sum of root to leaf node numbers)