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]))