时间复杂度:o(n)
空间复杂度:o(1)
class Solution {
public:
string solve(string s, string t) {
// 特殊情况处理
if (s.empty())
return t;
if (t.empty())
return s;
// 让s为较长的字符串
if (s.length() < t.length())
swap(s, t);
// 进位
int add = 0;
for (int i = s.length() - 1; i >= 0; i--) {
int temp = s[i] - '0' + add;
int j = t.length() - (s.length() - i);
if (j >= 0) {
temp += t[j] - '0';
}
s[i] = temp % 10 + '0';
add = temp / 10;
}
// 最后的进位
if (add == 1)
s = '1' + s;
return s;
}
};

京公网安备 11010502036488号