没什么好说的,先加1,再遍历判断进位,唯一需要注意的是开头是否会溢出。
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int size = digits.size();
digits[size-1]++;
for(int i =size-1;i>=0;i--)
{
if((digits[i])%10==0&&digits[i]!=0)
{
digits[i]=0;
if(i>0)
digits[i-1]++;
}
}
if(digits[0]==0)
digits.insert(digits.begin(),1);
return digits;
}
};