leetcode Sum Root to Leaf Numbers 二叉树所有叶节点的路径和

class Solution {
public:
vector<int>v;
int num;
    int sumNumbers(TreeNode *root) 
    {
        num=0;
        v.clear();
        sum(root);
        int sum=0;
        for(int i=0;i<v.size();i++)
        sum+=v[i];
        return sum;    
    }
    void sum(TreeNode *root)
    {
        if(root==NULL)
        return;
        if(root!=NULL)
        {
           num=num*10+root->val;
           if(root->left==NULL&&root->right==NULL)
           {
              v.push_back(num);
           }
           if(root->left)sum(root->left);
           if(root->right)sum(root->right);
           num=(num-root->val)/10;
        }
    }
};

 

posted @ 2013-06-03 16:21  代码改变未来  阅读(216)  评论(0编辑  收藏  举报