方法一:
思路:将数组中的数转换成一个整数,将该整数加1,再将该整数中的每个数字转换成新数组的每个元素
1. 遍历数组元素,将数组中的元素合并转换成字符串,再将该字符串转换成整数加1
2. 将加完1的数转换成字符串
3.创建一个新数组,遍历字符串,将字符串中的每个字符转换成整数存放到新数组中
4.最后返回该新数组
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
n = '0'
for i in digits:
n += str(i)
result = str(int(n) + 1)
l = len(result)
nums = [0] * l
for i in range(l):
nums[i] = int(result[i])
return nums
方法二:
思路:从数组的最后开始遍历数组,遇到元素为9,将该元素修改为0,将首次遇到的不为9的数加1。如果数组中所有的元素都为9,则将数组长度加1,数组的第一位元素为1,其他元素都为0
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
l = len(digits)
for i in range(l-1,-1,-1):
if digits[i] == 9: #查询数组元素
digits[i] = 0 #修改数组元素
else:
digits[i] += 1
return digits
digits = [0] * (l + 1) #设置新数组长度及元素
digits[0] = 1 #修改数组元素
return digits