https://leetcode.com/problems/multiply-strings/
//43 模拟乘法
class Solution {
public:
string multiply(string num1, string num2) {
string sum(num1.size()+num2.size(), '0');
int carry=0, tmp=0;
for(int i=num1.size()-1; i>=0; i--){
carry=0;
for(int j=num2.size()-1;j>=0;j--){
tmp=(sum[i+j+1]-'0')+(num1[i]-'0')*(num2[j]-'0')+carry;
sum[i+j+1]=tmp%10+'0';
carry=tmp/10; //进位
}
sum[i]+=carry; //进位
}
size_t startpos=sum.find_first_not_of("0"); //找到起始点
if(string::npos!=startpos){
return sum.substr(startpos);
}
return "0";
}
};