题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
using namespace std;
int main(){
string s1,s2;
std::cin >> s1 >> s2;
int pre=0;
string res;
while(!s1.empty() && !s2.empty()){
int sum = s1.back()-'0'+s2.back()-'0'+pre;
if(sum > 9){
pre=1;
}else{
pre=0;
}
s1.pop_back();s2.pop_back();
res.push_back('0'+sum%10);
}
if(!s1.empty()){
while(!s1.empty()){
int sum = s1.back()-'0'+pre;
if(sum > 9){
pre=1;
}else{
pre=0;
}
s1.pop_back();
res.push_back('0'+sum%10);
}
}else if(!s2.empty()){
while(!s2.empty()){
int sum = s2.back()-'0'+pre;
if(sum > 9){
pre=1;
}else{
pre=0;
}
s2.pop_back();
res.push_back('0'+sum%10);
}
}
if(pre){
res.push_back('1');
}
reverse(res.begin(),res.end());
std::cout << res;
return 0;
}


