初级农民-请到新手上路获取积分
- 积分
- 7
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2016-9-7
- 最后登录
- 1970-1-1
|
这种题目看似简单,我刚试了一下,第一遍写也很容易写得啰嗦,
重新整理了如下,应该算是精简的了- class Solution {
- public:
- string addStrings(string num1, string num2) {
- reverse(num1.begin(), num1.end());
- reverse(num2.begin(), num2.end());
- string result = "";
- size_t i = 0, j = 0;
- int carry = 0;
- while (i < num1.size() || j < num2.size()) {
- int s = carry;
- if (i < num1.size())
- s += num1[i++] - '0';
- if (j < num2.size())
- s += num2[j++] - '0';
- carry = s / 10;
- s = s % 10;
- result += to_string(s);
- }
- if (carry)
- result += "1";
- reverse(result.begin(), result.end());
- return result;
- }
- };
复制代码 |
|