题目
415. 字符串相加
我的思路
该题目比较简单。逐位遍历,计算字符对应的数字本身,相加时考虑进位即可。
C++中string类型可以直接reverse(str.begin(),str.end())进行字符串反转
我的实现
class Solution { public: string addStrings(string num1, string num2) { int i = num1.length() - 1, j = num2.length() - 1, add = 0; string ans = ""; 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; ans.push_back('0' + result % 10); add = result / 10; i -= 1; j -= 1; } // 计算完以后的答案需要翻转过来 reverse(ans.begin(), ans.end()); return ans; } };