思路:计算数组里面的数+1;[1, 2, 3] + 1 = [1, 2, 4]; [1, 9] + 1 = [2, 0]。依次循环遍历,如果小于9,不需要进位,直接加1返回。不然就设置该位为0,然后进位。
遍历结束还没有返回,则是所有的数字为9,比如【9, 9】 + 1 = 【0, 0】,此时需要新建数组为【1, 0,0】
public int[] plusOne(int[] digits) {
int length = digits.length;
for (int i = length - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i] = 0;
}
int[] newDigits = new int[length + 1];
newDigits[0] = 1;
return newDigits;
网友评论