python
class Solution:
def multiply(self, num1: str, num2: str):
if num1 == '0' or num2 == '0':
return '0'
m = len(num1)
n = len(num2)
res = ''
tmp = [0] * (m+n)
for j in range(n-1,-1,-1):
for i in range(m-1,-1,-1):
num = int(num1[i]) * int(num2[j])
p1, p2 = i+j, i+j+1
num += tmp[p2]
tmp[p2] = num%10
tmp[p1] += num//10
start = 0
while start < (m+n) and tmp[start] == 0:
start += 1
tmp = tmp[start:]
for s in tmp:
res += str(s)
return res