一、题目:66. 加一
二、题目解析:
题目解析:注意该题说道数组中每个元素只存储单个数字,单个数组最大就是9,9+1需要进位。
解题步骤:
- 从后往前依次遍历数组,因为单个数组最大是9,则当前不是9直接加1返回即可
- 如果是9需要加1同时继续遍历即可
- 最后如果有数组中全是9的特殊情况,则需要特殊处理一下。
三、代码如下:
public int[] plusOne(int[] digits){
for (int i = digits.length-1; i >= 0; i--) {
if(digits[i]!=9){
digits[i]++;
return digits;
}else {
digits[i] = 0;
}
}
//特殊情况 代码到这里只有999的情况
int[] res = new int[digits.length+1];
res[0] = 1;
return res;
}
四、测试
五、结束