#include <algorithm> #include <iterator> #include <string> #include <vector> class Solution { public: string solve(string s, string t) { int n = s.size(), m = t.size(); vector<int> v(n+m); reverse(s.begin(),s.end()); reverse(t.begin(),t.end()); for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { v[i+j] += (s[i]-'0') * (t[j]-'0'); } } int count = 0; string ret; for(auto x : v) { x += count; ret += x%10 + '0'; count = x / 10; } if(count) { ret += count - '0'; } while(ret.size()>1 && ret.back() == '0') ret.pop_back(); reverse(ret.begin(),ret.end()); return ret; } };