string solve(string s, string t) { vector<int> vec; auto len1 = s.size(); auto len2 = t.size(); string str; bool last = false; int i = len1 - 1; int j = len2 - 1; for ( ;; ) { int num = 0; if ( i >= 0 ) num += s[i] - '0'; if ( j >= 0 ) num += t[j] - '0'; if ( i < 0 && j < 0 ) break; if ( last ) ++num; if ( num >= 10 ) { num -= 10; last = true; } else { last = false; } vec.push_back(num); --i; --j; } if ( last ) vec.push_back(1); std::reverse(vec.begin(), vec.end()); for ( auto i : vec ) str.push_back(i + '0'); return str; }