【leetcode】Plus One

class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        reverse(digits.begin(),digits.end());//原始的digits爲321->[3,2,1]->digits[0]=3,digits[1]=2,digits[2]=1
                                            //逆轉後改成digits[0]=1,digits[1]=2,digits[2]=3,方便計算進位
        int len=digits.size();
        int carry=1;//加1
        for(int i=0;i<len;i++)
        {
            int sum=digits[i]+carry;
            digits[i]=sum%10;
            carry=sum/10;
        }
        if(carry==1)
            digits.push_back(carry);//vec.push_back()插入的位置爲vec[vec.size()]處,而非vec[0]處
            
        reverse(digits.begin(),digits.end());    
        return digits;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章