最后更新于5年前
从个位(下标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