Multiply Strings
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
class Solution {
public:
string multiply(string num1, string num2) {
vector<int> res(num1.length()+num2.length());
vector<int> n1;
vector<int> n2;
for(int i=num1.length()-1;i>=0;--i)
n1.push_back(num1[i]-'0');
for(int i=num2.length()-1;i>=0;--i)
n2.push_back(num2[i]-'0');
for(int i=0;i<n1.size();++i){
for(int j=0;j<n2.size();++j){
res[i+j] += n1[i]*n2[j];
res[i+j+1] += res[i+j]/10;
res[i+j] = res[i+j]%10;
}
}
string ret;
int i=res.size()-1;
while(res[i]==0 && i>=0)
--i;
if(i<0)
return "0";
while(i>=0){
ret.push_back('0'+res[i]-0);
--i;
}
return ret;
}
};