Sum Root to Leaf Numbers

回溯

    int sumNumbers(TreeNode *root) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        if(!root)
            return 0;
        int sum = 0;
        dfs(root,0,sum);
        return sum;        
    }
    
    void dfs(TreeNode* root,int num, int& sum)
    {
        num = num*10 + root->val;
        if(!root->left&&!root->right)
        {
            sum+=num;
            return;
        }
        
        if(root->left)
            dfs(root->left,num,sum);
        if(root->right)
            dfs(root->right,num,sum);
    }

  

posted @ 2013-10-08 09:46  summer_zhou  阅读(156)  评论(0编辑  收藏  举报