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; }}