LC066 - Plus One
Problem
Solution
Naive
def plusOne(self, digits: List[int]) -> List[int]:
if digits[-1] < 9:
digits[-1] += 1
else:
carry = True
# iterate each digit from the last digit
for i in range(len(digits)-1, -1, -1):
# add carry
if carry:
digits[i] += 1
if digits[i] >= 10:
carry = True
digits[i] -= 10
else:
carry = False
break
# add to start of list if carry remains
if carry:
digits.insert(0, 1)
return digitsLast updated