思路:
从后往前遍历 所以i--,数组启示为0,所以-1.
先对数组最后一位加一,再进行判断
分为三种情况:
1.直接加1即可;
2.最后一位为9,加1变成10,需要进位;
前两种实现后继续向前遍历。
如果遍历完全后没有结果则为以下情况:
3.全为9,加一之后需要增加一个数组长度。
代码:
class Solution {
public int[] plusOne(int[] digits) {
for (int i = digits.length - 1 ; i >= 0 ; i--) {
digits[i]++;
if (digits[i] % 10 != 0){
return digits;
}else {
digits[i] = 0;
}
}
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
}
}