vector<int> Solution::easy_plusOne(vector<int>& digits)
{
/**就是一种很一般的思路,
*首先:判断个位是否为9,若不是9便直接个位加1,返回。
*若个位是9,则将个位变为0,并观察前一位的数值,若前一位是9则变为0
*若不是9就加一,
*全部遍历。
*最后把观察首位是否为0,若是0,则前面放入1
*/
int length = digits.size();
if(digits[length - 1] != 9)
{
digits[length - 1] += 1;
return digits;
}
digits[length - 1] = 0;
for(int i = length - 2; i >= 0; --i)
{
if(digits[i] == 9) digits[i] = 0;
else
{
digits[i] += 1;
break;
}
}
if(digits[0] == 0)
{
digits.push_back(0);
digits[0] = 1;
}
return digits;
}