class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int s = digits.size();
int r=0,flag=0;
for(int i=0;i<s;i++)
if(digits[i]==9)
r++;
if(r==s)
flag=1;
if (digits[s - 1] != 9) {
digits[s - 1] += 1;
return digits;
} else if (flag==0) {
for (int i = s - 1; i >= 0; i--) {
if (digits[i]!=9)
{
digits[i]++;
break;
}
else{
digits[i]=0;
}
}
return digits;
}
else{
digits[0]=1;
for(int i=1;i<s;i++)
{
digits[i]=0;
}
digits.push_back(0);
}
return digits;
}
};
猴版高精度,代码有些冗杂