您的位置:首页 > 其它

leetcode-415-Add Strings

2017-02-10 20:30 295 查看

问题

题目:[leetcode-415]

思路

大整数加法实现。

代码

class Solution {
public:
string addStrings(string num1, string num2) {
reverse(num1);
reverse(num2);

std::string ret;
int sz1 = num1.size();
int sz2 = num2.size();

int i = 0;
int c = 0;
while(i < sz1 && i < sz2){
int tmp = num1[i] + num2[i] - 2*'0' + c;
ret = std::string(1, '0'+tmp%10) + ret;
c = tmp/10;

++i;
}
while(i < sz1){
int tmp = num1[i] + c - '0';

ret = std::string(1, '0'+tmp%10) + ret;
c = tmp/10;
++i;
}
while(i < sz2 ){
int tmp = num2[i] + c - '0';

ret = std::string(1, '0'+tmp%10) + ret;
c = tmp/10;
++i;
}
if(c) ret = std::string(1, '0'+c) + ret;
return ret;
}
private:
void reverse(std::string& nums){
int sz = nums.size();
int mid = nums.size()/2;
for(int i = 0; i < mid; ++i){
int t = nums[i];
nums[i] = nums[sz-1-i];
nums[sz-1-i] = t;
}
return;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: