思路:从后向前遍历数组,不为9加一跳出循环。为9加一再考虑上一位。考虑999的特殊情况(全置为了0,第一位变1然后push一个0)
class Solution
{
public:
vector<int> plusOne(vector<int>& digits)
{
for(int i=digits.size()-1;i>=0;i--)
{
if(digits[i]!=9)
{
digits[i]++;
break;
}
else digits[i]=0;
}
if(digits[0]==0)
{
digits[0]=1;
digits.push_back(0);
}
return digits;
}
};