题目
代码(首刷自解)
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
reverse(digits.begin(), digits.end());
int flag;
digits[0] = digits[0]+1;
flag = digits[0]/10;
digits[0] %= 10;
for(int i = 1; i < n; i++) {
if(digits[i]+flag < 10) {
digits[i] += flag;
flag = 0;
break;
}
flag = 1;
digits[i] = (digits[i] + flag) %10;
}
if(flag == 1) {
digits[n-1] = 0;
digits.push_back(1);
}
reverse(digits.begin(), digits.end());
return digits;
}
};