43. 字符串相乘
题目链接:43. 字符串相乘
代码如下:
class Solution
{
public:
string multiply(string num1, string num2)
{
string res(num1.size() + num2.size(), '0');
for (int i = num2.size() - 1; i >= 0; i--)
{
for (int j = num1.size() - 1; j >= 0; j--)
{
int temp = (res[i + j + 1] - '0') + (num2[i] - '0') * (num1[j] - '0');
res[i + j + 1] = temp % 10 + '0';//当前位
res[i + j] += temp / 10;//进位操作
}
}
//从不为0的第一位开始返回
for (int i = 0; i < num1.size() + num2.size(); i++)
{
if (res[i] != '0') { return res.substr(i); }
}
return "0";
}
};