defmultiply(self, num1:str, num2:str)->str:if num1 =="0"or num2 =="0":return"0"
ans ="0"
m, n =len(num1),len(num2)for i inrange(n -1,-1,-1):
add =0
y =int(num2[i])
curr =["0"]*(n - i -1)for j inrange(m -1,-1,-1):
product =int(num1[j])* y + add
curr.append(str(product %10))
add = product //10if add >0:
curr.append(str(add))
curr ="".join(curr[::-1])
ans = self.addStrings(ans, curr)return ans
defaddStrings(self, num1:str, num2:str)->str:
i, j =len(num1)-1,len(num2)-1
add =0
ans =list()while i >=0or j >=0or add !=0:
x =int(num1[i])if i >=0else0
y =int(num2[j])if j >=0else0
result = x + y + add
ans.append(str(result %10))
add = result //10
i -=1
j -=1return"".join(ans[::-1])
LeetCode0043LeetCode0043代码:def multiply(self, num1: str, num2: str) -> str: if num1 == "0" or num2 == "0": return "0" ans = "0" m, n = len(num1), len(num2) for i in range(n - 1, -1, -1): .