You are given two non-negative whole numbers, num1 and num2, written as strings. They can be very long, much longer than what a normal integer type can hold.
Multiply them and return the product, also as a string.
You must not use a big-number library, and you must not turn the whole input strings into integers. Work digit by digit, the way you multiply on paper.
Examples
Example 1:
Input: num1 = "12", num2 = "12"
Output: "144"
Explanation: 12 times 12 is 144.
Example 2:
Input: num1 = "999", num2 = "99"
Output: "98901"
Explanation: 999 times 99 is 98901.
Example 3:
Input: num1 = "0", num2 = "123456789"
Output: "0"
Explanation: Anything times zero is zero.