0-91->2->3 which represents the number 123.
Find the total sum of all root-to-leaf numbers.
For example,
 
1 / \ 2 3
 
1->2 represents the number 12.
 The root-to-leaf path 1->3 represents the number 13.25.
 
Subscribe to see which companies asked this question
struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
class Solution {
public:
    int sumNumbers(TreeNode* root) {
        if (root == NULL) return 0;
        sum = 0;
        dfs(root, 0);
        return sum;
    }
private:
    void dfs(TreeNode* root, int tmp){
        tmp = tmp * 10 + root->val;
        if (root->left == NULL&&root->right == NULL){
            sum += tmp;
        }
        if (root->left)
            dfs(root->left, tmp);
        if (root->right)
            dfs(root->right, tmp);
    }
    int sum;
}; 










