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; }