<p>Given two non-negative integers <code>num1</code> and <code>num2</code> represented as strings, return the product of <code>num1</code> and <code>num2</code>, also represented as a string.</p> <p><strong>Note:</strong> You must not use any built-in BigInteger library or convert the inputs to integer directly.</p> <p> </p> <p><strong>Example 1:</strong></p> <pre><strong>Input:</strong> num1 = "2", num2 = "3" <strong>Output:</strong> "6" </pre><p><strong>Example 2:</strong></p> <pre><strong>Input:</strong> num1 = "123", num2 = "456" <strong>Output:</strong> "56088" </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= num1.length, num2.length <= 200</code></li> <li><code>num1</code> and <code>num2</code> consist of digits only.</li> <li>Both <code>num1</code> and <code>num2</code> do not contain any leading zero, except the number <code>0</code> itself.</li> </ul>