1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| class Solution { public: string addStrings(string num1, string num2) {
string res = "";
int i1 = num1.length() - 1, i2 = num2.length() - 1; int carry = 0;
while (i1 >= 0 || i2 >= 0) {
int x = i1 >= 0 ? num1[i1] - '0' : 0; int y = i2 >= 0 ? num2[i2] - '0' : 0;
int sum = x + y + carry;
res.push_back('0' + sum % 10);
carry = sum / 10;
i1--; i2--; }
if (carry != 0) res.push_back('0' + carry);
reverse(res.begin(), res.end());
return res; } };
|