class Solution {
public int[] plusOne(int[] digits) {
List<Integer> list = new ArrayList<>();
int flag = 0;
for (int i = digits.length - 1; i>= 0; i--) {
int curNumber = 0;
if (i == digits.length - 1) {
curNumber = (digits[i] + flag + 1) % 10;
flag = (digits[i] + flag + 1) / 10;
} else {
curNumber = (digits[i] + flag) % 10;
flag = (digits[i] + flag) / 10;
}
list.add(curNumber);
}
if (flag == 1) {
list.add(1);
}
int size = list.size();
int[] ans = new int[size];
int index = size - 1;
for (Integer num : list) {
ans[index] = num;
--index;
}
return ans;
}
}