Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string multiplyStrings(string s1, string s2) {
- int i,j,m,n,x=1;
- if(s1[0]=='-'){x*=(-1); s1.erase(s1.begin());}
- if(s2[0]=='-'){x*=(-1); s2.erase(s2.begin());}
- if(s1.length()==0||s2.length()==0)return "0";
- m=s1.length();
- n=s2.length();
- vector<int>a(m+n,0);
- int k1=0;
- for(i=m-1;i>=0;i--)
- {
- int c=0,k2=0;
- for(j=n-1;j>=0;j--)
- {
- int num=(s1[i]-'0')*(s2[j]-'0');
- int sum=num+c+a[k1+k2];
- c=sum/10;
- a[k1+k2]=sum%10;
- k2++;
- }
- a[k1+k2]+=c;
- k1++;
- }
- i=a.size()-1;
- while(i>=0&&a[i]==0)i--;
- if(i==-1)return "0";
- string s="";
- while(i>=0)
- {
- s+=to_string(a[i]);
- i--;
- }
- if(x==-1)s.insert(s.begin(),'-');
- return s;
- }
Add Comment
Please, Sign In to add comment