LeetCode 66 — Plus One

Segundo problema de Math & Geometry — Easy. Sumar 1 a un número representado como array de dígitos. Manejo de carry.

Enunciado

digits representa un entero (cabeza = más significativo). Suma 1 y devuelve el array.


Solución — Iterar de derecha a izquierda

class Solution:
    def plusOne(self, digits):
        for i in range(len(digits) - 1, -1, -1):
            if digits[i] < 9:
                digits[i] += 1
                return digits
            digits[i] = 0
        return [1] + digits                       # caso "999" → "1000"

Análisis: O(n).


Conexiones

Estado

  • Leído
  • Implementado desde cero
  • Resuelto en LeetCode