[LeetCode]Plus One

 

由於忙着作實驗寫paper,刷題的進度放慢了一點。爬上來更新一下最近作的幾道題目。git

Given a number represented as an array of digits, plus one to the number.數組

模擬問題。給定輸入是一個vector數組,輸出加1後的計算結果。ide

將進位carry初始值置爲1,從數組的最後一位開始加,注意最高位的進位。spa

class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        // IMPORTANT: Please reset any member data you declared, as
        // the same Solution instance will be reused for each test case.
        vector<int> ret;
        int n = digits.size();
        
        int carry = 1;
        const int BASE = 10;
        for(int i=n-1; i>=0; --i)
        {
            int tmp = digits[i]+carry;
            ret.insert(ret.begin(), tmp%BASE);
            carry = tmp>=BASE?1:0; //
        }
        // final carry bit
        if(carry)
            ret.insert(ret.begin(), carry);
        return ret;
    }
};
View Code
相關文章
相關標籤/搜索