第十五题
题目
66. 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:
输入:digits = [0]
输出:[1]
思路
把列表转 为字符串,然后,把字符串转为int型,加1,再由int型转为字符串,由于,题目中说明你可以假设除了整数 0 之外,这个整数不会以零开头。但是,测试集列表开头有0,所以字符串需要补0,使用zfill()函数,判定列表的长度,在由字符串转为列表,返回列表
代码
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
str1=""
list1=[]
n=len(digits)
for i in digits:
str1 +=str(i)
str2=int(str1)
str2+=1
str3=str(str2)
str3 = str3.zfill(n)#字符串补0
for i in str3:
list1.append(int(i))
return list1