class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
string solve(string s, string t) {
int sIdx = s.size() - 1, tIdx = t.size() - 1;
string ans = "";
int c = 0; // 进位
for (; sIdx >= 0 && tIdx >= 0; sIdx--, tIdx--) {
int tmp = s[sIdx] + t[tIdx] - 2 * '0' + c;
c = tmp / 10;
ans = (char)(tmp % 10 + '0') + ans;
}
for (;sIdx >= 0; sIdx--) {
int tmp = s[sIdx] + c - '0';
c = tmp / 10;
ans = (char)(tmp % 10 + '0') + ans;
}
for (;tIdx >= 0; tIdx--) {
int tmp = t[tIdx] + c - '0';
c = tmp / 10;
ans = (char)(tmp % 10 + '0') + ans;
}
if (c) {
ans = (char)(c + '0') + ans;
}
return ans;
}
};