思路:
数组末端一共只有两种情况,9或非9,若为9即需要进1。
所以我们需要做的就是把一个数组最后几位9进为0,第一个不是9的一位加一。
最后对全是9的这一特殊数组进行处理
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
n = len(digits)
for i in range(n - 1, -1, -1):
if digits[i] != 9:
digits[i] += 1
for j in range(i + 1, n):
digits[j] = 0
return digits
return [1] + [0] * n
时间复杂度:O(n),n为数组长度
空间复杂度:O(1),返回值将不计入计算