Plus One

Problem

You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most significant to least significant in left-to-right order. The large integer does not contain any leading 0’s.

Increment the large integer by one and return the resulting array of digits.

Example 1:

Input: digits = [1,2,3]
Output: [1,2,4]
Explanation: The array represents the integer 123.
Incrementing by one gives 123 + 1 = 124.
Thus, the result should be [1,2,4].

Example 2:

Input: digits = [4,3,2,1]
Output: [4,3,2,2]
Explanation: The array represents the integer 4321.
Incrementing by one gives 4321 + 1 = 4322.
Thus, the result should be [4,3,2,2].

Example 3:

Input: digits = [9]
Output: [1,0]
Explanation: The array represents the integer 9.
Incrementing by one gives 9 + 1 = 10.
Thus, the result should be [1,0].

Constraints:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9
  • digits does not contain any leading 0’s.

Solution

class Solution {
    public int[] plusOne(int[] digits) {
        var carry = true;

        for (int i = digits.length - 1; i >= 0; i--) {
            if (digits[i] == 9) {
                digits[i] = 0;
            } else {
                digits[i] = digits[i] + 1;
                carry = false;
                break;
            }
        }

        if (carry) {
            // re-alloc array
            var newArr = new int[digits.length + 1];

            for (var i = 1; i < digits.length; i++) {
                newArr[i - 1] = digits[i];
            }

            newArr[0] = 1;
            return newArr;
        } else {
            return digits;
        }
    }
}

Recent posts from blogs that I like

LLM predictions for 2026, shared with Oxide and Friends

via Simon Willison

The Dutch Golden Age: Unique imagery of Domenicus van Wijnen

At the end of the Golden Age, he specialised in painting the Dark Arts, with astrology, rejuvenation, witchcraft, and faerie allegories.

via The Eclectic Light Company

A data model for Git (and other docs updates)

Hello! This past fall, I decided to take some time to work on Git’s documentation. I’ve been thinking about working on open source docs for a long time – usually if I think the documentation for something could be improved, I’ll write a blog post or a zine or something. But this time I wondered: cou...

via Julia Evans