Given two non-negative integers num1 and num2 represented as strings, return their product as a string. Do not use any built-in BigInteger library or convert the inputs to integers directly.
Constraints
1 <= num1.length, num2.length <= 200
num1 and num2 consist of digits only.
Both num1 and num2 do not contain any leading zero, except the number 0 itself.