public int[] plusOne(int[] digits) {
        if ((digits[digits.length - 1] + 1) < 10) {
            digits[digits.length - 1] += 1;;
            return digits;
        } else {
            for (int i = digits.length - 1; i >= 0; i--) {
                if ((digits[i] + 1) == 10) {
                    digits[i] = 0;
                    if (i == 0) {
                        int[] temp = new int[digits.length + 1];
                        temp[0] = 1;
                        for (int j = 0; j < digits.length; j++) {
                            temp[j + 1] = 0;
                        }
                        return temp;
                    }
                    continue;
                } else {
                    digits[i] += 1;
                    break;
                }
            }
        }
        return digits;
    }