下面给出代码,代码应该还有可以改进的地方,欢迎指正
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
auto len=digits.size();
auto lentmp=len;
vector<int> num=digits;
vector<int> vec;
if(len==1&&digits[0]==0)
{
num[0]=1;
vec=num;
}
else
{
int count=len;
while(count>0)
{
int tmp=digits[len-1]+1;
if(tmp>=10)
{
tmp=tmp%10;
num[len-1]=tmp;
count--;
len--;
if(len==0)
{
vec.push_back(1);
for(int i=0;i<lentmp;i++)
{
vec.push_back(num[i]);
}
}
}
else
{
num[len-1]=tmp;
vec=num;
break;
}
}
}
return vec;
}
};