一、题目
二、代码
引入进位标志
class Solution {
public int[] plusOne(int[] digits) {
int len = digits.length;
boolean carry = false; //引入进位标志
for(int i = len - 1; i >= 0; i--){
if(i == len - 1){
digits[i] += 1;
}
if(carry == true){
digits[i] += 1;
carry = false;
}
if(digits[i] == 10){
digits[i] = 0;
carry = true;
}
}
//最高位进位,如999 + 1 = 1000,最高位填1就行了。
if(carry == true){
digits = new int[len + 1];//重新申请数组,默认元素为0
digits[0] = 1;
}
return digits;
}
}