解題思路:
(1)設置進位,判斷是否大於10,是則設置進位爲1,否則爲0
(2)使用原地算法,初始進位爲1,判斷最後進位是否爲1,是則在vector前端插入1
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int c = 1; // 進位
for(int i=digits.size()-1;i>=0;i--) {
if(digits[i]+c>=10) {
digits[i]=digits[i]+c-10;
c = 1;
} else {
digits[i]=digits[i]+c;
c = 0;
}
}
if(c==1) digits.insert(digits.begin(),1);
return digits;
}
};