leetcode Plus one

class Solution {
public:
    vector<int> plusOne(vector<int> &digits)
    {
        reverse(digits.begin(),digits.end());
        int s=digits[0]+1;
        int carry=0;
        if(s>=10)carry=1;
        else digits[0]=s;
        if(carry)
        {
            for(int i=0;i<digits.size();i++)
            {
                digits[i]+=carry;
                if(digits[i]>=10)
                {
                    digits[i]-=10;
                    carry=1;
                }
                else carry=0;
            }
        }
        if(carry)
        digits.push_back(1);
        reverse(digits.begin(),digits.end());   
        return digits;
    }
};

 

posted @ 2013-05-19 20:45  代码改变未来  阅读(803)  评论(0编辑  收藏  举报