vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
vector<int> ans;
int jinwei = 1;
int temp;
//可能需要进位
for (int i = n-1; i >=0; i--) {
if (jinwei == 1) {
temp = digits[i] + 1;
if (temp == 10) {
ans.insert(ans.begin(), 0);
}
else {
jinwei = 0;
ans.insert(ans.begin(), digits[i] + 1);
}
}
else {
ans.insert(ans.begin(), digits[i]);
}
}
if (jinwei == 1) {
ans.insert(ans.begin(), 1);
}
return ans;
}
主要是判断有无进位。