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
- 2-add-two-numbers — patrón carry similar.
- Próximo: 48-rotate-image.
Estado
- Leído
- Implementado desde cero
- Resuelto en LeetCode