由於忙着作實驗寫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; } };