public int[] plusOne(int[] digits) {
    List<Integer> list = new ArrayList<>();
    int n = digits.length;
    digits[n -1]++;
    int base = 0;
    for (int i = n-1; i >= 0; i--) {
        int digit = digits[i] + base;
        base = digit/10;
        list.add(0,digit % 10);
    }
    if (base == 1) {
        list.add(0,base);
    }
    return list.stream().mapToInt(Integer::intValue).toArray();
}