66. 加一

https://leetcode-cn.com/problems/plus-one/

解法一:

从个位(下标n-1)开始往前遍历,若i小于9,则直接加1返回,若等于9,考虑进位,将该位置零,进入下一轮。

最后若循环结束仍未返回,说明最高位(下标0)也发生进位,直接在前面加1.

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
                return digits
            digits[i] = 0
        return [1] + digits

最后更新于