很简单
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n=digits.size();
for(int i=n-1;i>=0;i--){
if(digits[i]<9){digits[i]++;break;}
else if(i==0){
digits[i]=0;
digits.insert(digits.begin(),1);
}
else digits[i]=0;
}
return digits;
}
};
在评论区学到一种新思路,更简洁:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n=digits.size();
for(int i=n-1;i>=0;i--){
digits[i]=(digits[i]+1)%10;
if(digits[i]!=0) return digits;
}
digits.insert(digits.begin(),1);
return digits;
}
};