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

Example 1:

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

Example 2:

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

Note:

The length of both num1 and num2 is < 110. Both num1 and num2 contain only digits 0-9. Both num1 and num2 do not contain any leading zero, except the number 0 itself. You must not use any built-in BigInteger library or convert the inputs to integer directly.

Approach with simulation of multiply operation

Let’s take a input as example, the result string’s length will be less than num1.length + num2.length.

And remember to strip the leading zero in result.

123 23 ------ 369 246 ====== 2829

Time complexity: $O(MN)$ where M and N is the lengths of two numbers.