解法:
class Solution {
public static int[] plusOne(int[] digits) {
int index = -1;
for(int i=digits.length - 1;i>=0;i--){ //for循环从数组最后一位开始判断该位是否=9
if(digits[i] < 9) {
index = i;
break;
}else {
digits[i] = 0;
}
}
if(index != -1){ //最后一位不为9
digits[index] += 1;
return digits;
}else{ //最后一位为9
int[] newArray = new int[digits.length + 1];
newArray[0] = 1;
for(int i=1;i<newArray.length;i++){
newArray[i] = 0;
}
return newArray;
}
}
}
note:
1.思路:对于输入的处理无外乎就是两种情况,一是数组最后一位数小于9,则直接数组末尾索引值加1返回即可;二是数组最后一位等于9,则原数组位数加1,算上从末尾传来的进位值,返回新数组。