字符串相乘(中等)(leetcode43)
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
示例1:输入: num1 = "2", num2 = "3",输出: "6"
示例 2:输入: num1 = "123", num2 = "456",输出: "56088"
说明:不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。
def multiply(self, num1, num2):
n1=[]
n2=[]
ans=0
[n1.append(int(i)) for i in num1[::-1]]
[n2.append(int(i)) for i in num2[::-1]]
for i in range(len(n1)):
for j in range(len(n2)): #遍历两个n
if (i+j)==0: #设置系数
k=1
else:
k=int('1'+(i+j)*'0') #如果i+j=2,k=100
ans=ans+(n1[i]*n2[j])*k
return str(ans)