leetcode 66.加一 python
给定一个表示 大整数 的整数数组 digits
,其中 digits[i]
是整数的第 i
位数字。这些数字按从左到右,从最高位到最低位排列。这个大整数不包含任何前导 0
。
将大整数加 1,并返回结果的数字数组。
示例 1:
输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123。 加 1 后得到 123 + 1 = 124。 因此,结果应该是 [1,2,4]。
示例 2:
输入:digits = [4,3,2,1] 输出:[4,3,2,2] 解释:输入数组表示数字 4321。 加 1 后得到 4321 + 1 = 4322。 因此,结果应该是 [4,3,2,2]。
示例 3:
输入:digits = [9] 输出:[1,0] 解释:输入数组表示数字 9。 加 1 得到了 9 + 1 = 10。 因此,结果应该是 [1,0]。
提示:
1 <= digits.length <= 100
0 <= digits[i] <= 9
digits
不包含任何前导0
。class Solution:def plusOne(self, digits: List[int]) -> List[int]:length = len(digits)//注意此题最后要加一,且不为前导零,故结果必为大于等于1的数sum = 0for i in range(length-1,-1,-1):sum += digits[length-i-1]*10**isum += 1result = []while(sum!=0):result.append(sum%10)//数组追加元素,参数为取余结果sum = sum//10return result[::-1] //倒置返回