其實(shí)大數(shù)乘法就是在考慮大數(shù)加法的進(jìn)位的同時(shí),考慮字符串num1和字符串num2相乘時(shí),每一位所在的位置,以及加法運(yùn)算中多了一個(gè)乘法項(xiàng)。
可運(yùn)行的cpp代碼
class Solution {
public:
string multiply(string num1, string num2) {
string res(num1.size()+num2.size(),'0');
for(int i=num1.size()-1;i>=0;i--)
{
int counter=0;
for(int j=num2.size()-1;j>=0;j--)
{
int temp = res[i+j+1]-'0' + (num1[i]-'0')*(num2[j]-'0')+counter;
res[i+j+1] = temp%10 + '0';
counter = temp/10;
}
res[i] = counter + '0';
}
size_t found = res.find_first_not_of("0");
if(found!=string::npos)
{
return res.substr(found);
}
return "0";
}
};