024-力扣刷题-66--加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2:
输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class Solution(object): def plusOne(self, digits): """ :type digits: List[int] :rtype: List[int] """ for i in reversed(range(len(digits))): #从右向左取数 if digits[i] == 9: #取到的数是9就变成0 digits[i] =0 else: digits[i]+=1 #取到的不是9,那么就让这一位+1,比如第一个循环的时候是8那么就会跳到这里,直接加1并且返回 #如果一开始取到的是9给它置零.循环到下一位不是8那么加一就是对前面的一个进位加 return digits digits[0]=1 #如果是整个的for循环都执行完了那么就说明是全是9999的情况,那么for循环完了以后的结果就是0000 #此时我们把第一位变成1同时末位添加0变成10000最后再返回 digits.append(0) return digits |