cpp
class Solution
{
public:
string addStrings(string num1, string num2)
{
//i j分别指向当前字符串的最后一位
int i = num1.length() - 1;
int j = num2.length() - 1;
int add = 0;
string s = "";
//不要忽略两个串都遍历完了 但是还有一个进位
while (i >= 0 || j >= 0 || add != 0)
{
//只要还没遍历完 当前字符变数字
int x = i >= 0 ? num1[i] - '0' : 0;
int y = j >= 0 ? num2[j] - '0' : 0;
int result = x + y + add;
//计算进位
add = result / 10;
//当前位数字变字符 尾插进s
s.push_back('0' + result % 10);
//i j前移
i -= 1;
j -= 1;
}
reverse(s.begin(), s.end());
return s;
}
};