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”
C++
string multiply(string num1, string num2) {
string res(num1.size() + num2.size(),'0');
int ans_pos = res.size() - 1;
int mul_pos = ans_pos;
for(int i = num1.size() - 1;i >= 0;--i)
{
for(int j = num2.size() - 1;j >= 0;--j)
{
int temp = (num1[i] - '0')*(num2[j] - '0') + res[ans_pos] - '0';
res[ans_pos] = (temp%10) + '0';
res[ans_pos - 1] = (temp/10) + (res[ans_pos - 1] - '0') + '0';
--ans_pos;
}
mul_pos--;
ans_pos = mul_pos;
}
while(res[0] == '0')
res.erase(res.begin());
return res.size() > 0 ? res : "0";
}