想问一下大家它的输出为什么是[ 0, 9, '-1': NaN ]啊
var plusOne = function(digits) {
for(let i = digits.length-1;i >= 0;i--){ //循环,使数组最后一位等于9,且前一位不等于9时,数组输出完成+1的目的
if((digits[i] == 9) && (digits[i-1] != 9)){
digits[i] = 0;
digits[i-1] = digits[i-1] + 1;
return digits;
}
}
for(let i = digits.length-1;i >= 0;i--){ //循环,使数组最后一位不等于9时,直接加1,数组输出完成+1的目的
if(digits[i] != 9){
digits[i] = digits[i] + 1;
return digits;
}
}
for(let i = 0;i < digits.length;i++){ //如果前两项条件都不符合,那么此时数组的每一位都是9,所以我们使数组每一位都变为0
digits[i] = 0;
}
digits.unshift(1); //在数组前面加入元素1,使它完成加1的目的
return digits;
};
console.log(plusOne([9,9]));