43. Multiply Strings

Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.

Note: You must not use any built-in BigInteger library or convert the inputs to integer directly.

Example 1:

Input: num1 = "2", num2 = "3"
Output: "6"

Example 2:

Input: num1 = "123", num2 = "456"
Output: "56088"

def multiply(self, num1: str, num2: str) -> str:
	d = {
		'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9
	}
	n1, n2, j = 0, 0, 0
	l1, l2 = len(num1)-1, len(num2)-1
	for i in num1:
		n1 += 10**l1 * d[i]
		l1 -= 1
	
	for i in num2:
		n2 += 10**l2 * d[i]
		l2 -= 1
	return str(n1*n2)