【second】Multiply Strings
注意边界条件即可:num1表示0或者num2表示0;
string multiply(string num1, string num2) { // Note: The Solution object is instantiated only once and is reused by each test case. if(num1.empty()||num2.empty()) return ""; if(num1[0]=='0'||num2[0]=='0') //ATT here return "0"; int m = num1.size(); int n = num2.size(); vector<int> num(m+n-1,0); for(int i=0;i<m;i++) for(int j=0;j<n;j++) num[i+j] += ((num1[i]-'0')*(num2[j]-'0')); string res(""); int carry = 0; for(int i=m+n-2;i>=0;i--) { res+=((num[i]+carry)%10+'0'); carry = (num[i]+carry)/10; } if(carry!=0) res+=(carry+'0'); return string(res.rbegin(),res.rend()); }