44 lines
1 KiB
Python
44 lines
1 KiB
Python
from typing import List
|
|
|
|
|
|
class Solution:
|
|
def plusOne(self, digits: List[int]) -> List[int]:
|
|
j = len(digits) - 1
|
|
if j == 0:
|
|
if digits[0] + 1 < 10:
|
|
digits[0] = digits[0] + 1
|
|
return digits
|
|
else:
|
|
digits[0] = 1
|
|
digits.append(0)
|
|
return digits
|
|
digits[j] = digits[j] + 1
|
|
while j >= 1:
|
|
if digits[j] < 10:
|
|
return digits
|
|
if digits[j] == 10:
|
|
digits[j] = 0
|
|
digits[j - 1] = digits[j - 1] + 1
|
|
j -= 1
|
|
if digits[0] == 10:
|
|
digits[0] = 1
|
|
digits.append(0)
|
|
return digits
|
|
|
|
|
|
sl1 = Solution()
|
|
print(sl1.plusOne([1, 3, 5, 6]))
|
|
print("---")
|
|
print(sl1.plusOne([1, 2, 3]))
|
|
print("---")
|
|
print(sl1.plusOne([4, 3, 2, 1]))
|
|
print("---")
|
|
print(sl1.plusOne([9, 9, 9]))
|
|
print("---")
|
|
print(sl1.plusOne([0]))
|
|
print("---")
|
|
print(sl1.plusOne([9]))
|
|
print("---")
|
|
print(sl1.plusOne([1, 9, 9, 9, 9]))
|
|
print("---")
|
|
print(sl1.plusOne([9, 8, 9]))
|