对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。
给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。
示例 1:
输入:A = [1,2,0,0], K = 34
输出:[1,2,3,4]
解释:1200 + 34 = 1234
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-to-array-form-of-integer
提供两种思路,一种是将列表以数字的形式进行操作,这种方法在列表较大时计算量较大,效率会较慢。另一种方法是采用字符串操作,两种方法代码附下
法1
class Solution:
def addToArrayForm(self, A: List[int], K: int) -> List[int]:
res = 0
t = len(A)
for i in range(t):
res += (10**(t-i-1)) * A[i]
res += K
return ",".join(str(res)).split(",")
法2
class Solution:
def addToArrayForm(self, A: List[int], K: int) -> List[int]:
a = ""
for i in A:
a += str(i)
res = str(int(a) + K)
return map(int,list(res))