题目:
思路:
先转为一个数字,加上一再转为数组,避免了进位时的问题
第一次提交的时候忽略了进位时位数增多的问题,比如9 加上 1就是10,原本我是直接用新的数据覆盖原来列表的内容,但是对于这种情况不能直接覆盖,因为原本列表只有一个数,现在两个,会溢出,所以改为将列表清空,然后一个个通过append的方式加上去。
代码:
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
length = 0
for i in digits:
length += 1
sum = 0
k = 1
for i in digits:
sum += i*pow(10,length-k)
k += 1
sum += 1
s = str(sum)
digits = []
for i in range(len(s)):
digits.append(int(s[i]))
return digits
结果:
关于LeetCode的解题方法欢迎大家一起讨论~