这道题真的让我费了一番功夫
借助于ArrayList和辅助变量k,模拟了一个虚拟两数相加,进位
class Solution {
public int[] plusOne(int[] digits) {
ArrayList<Integer> list = new ArrayList<>();
int k = 1;
for (int i = digits.length - 1; i >= 0; i--) {
int sum = digits[i] + k;
k = 0;
if (sum >= 10){
k++;
sum -= 10;
}
list.add(sum);
}
for (; k > 0; k--) {
list.add(k);
}
Collections.reverse(list);
int[] ints = new int[list.size()];
for (int i = 0; i < ints.length; i++) {
ints[i] = list.get(i);
}
return ints;
}
}