我的解法
class Solution {
public int[] plusOne(int[] digits) {
int adding = 1;
for(int i = digits.length - 1;i >= 0;i--){
if(adding == 0) break;
else{
digits[i] += adding;
adding = digits[i] / 10;
digits[i] %= 10;
}
}
if(adding == 0) return digits;
else{
int[] temp = new int[digits.length + 1];
temp[0] = 1;
for(int i = 0;i < digits.length;i++){
temp[i + 1] = digits[i];
}
return temp;
}
}
}
蠢蠢的做了算术运算,还在处理最高位有进位的情况时,复制了一遍数组
看到的一个解法