← Back to Leo Academy Masterclass

Problem #66: Plus One

Easy Array & String

Intuition & Strategy Breakdown

Iterate from the last digit backwards. If digit < 9, increment and return array. If digit == 9, set to 0 and continue carry. If all are 9, prepend 1.

Python Solution

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        for i in range(len(digits) - 1, -1, -1):
            if digits[i] < 9:
                digits[i] += 1
                return digits
            digits[i] = 0
        
        return [1] + digits

Java Solution

class Solution {
    public int[] plusOne(int[] digits) {
        for (int i = digits.length - 1; i >= 0; i--) {
            if (digits[i] < 9) {
                digits[i]++;
                return digits;
            }
            digits[i] = 0;
        }
        
        int[] newDigits = new int[digits.length + 1];
        newDigits[0] = 1;
        return newDigits;
    }
}
Watch Interactive Video on Leo Academy Main App