string solve(string s, string t) {
// write code here
// 字符串转为int 存入vector中,记得char变int是不要忘记减去'0'
vector<int> S;
vector<int> T;
for(int i=s.size()-1; i>=0; i--)
S.push_back(s[i]-'0');
for(int i=t.size()-1; i>=0; i--)
T.push_back(t[i]-'0');
// S的长度大于T的长度
if(S.size() < T.size())
return solve(t, s);
// 核心代码段,逐位进行相加,记得进位
// 不要忘记最后的进位
// 其实这题本质上就是逐位相加,注意一些坑就行
// 1. string <--> int型vector
// 2. 进位
// 3. 两个数长度
vector<int> SUM;
int v = 0; //tmp value
for(int i=0; i<S.size(); i++) {
v += S[i];
if(i < T.size())
v += T[i];
SUM.push_back(v % 10);
v = v / 10;
}
if(v != 0)
SUM.push_back(v);
// int型vector转为string,同理逆序,不要忘记加'0'
string result = "";
for(int i=SUM.size()-1; i>=0; i--)
result.push_back(SUM[i] + '0');
return result;
}