class Solution {
public:
string addStrings(string num1, string num2) {
int size1 = num1.size();
int size2 = num2.size();
int size3 = max(size1,size2)+1;
vector<int> ivec(size3,0);
int carry=0;
string res;
int index=size3-1;
size1--;
size2--;
while(index>=0){
if(size1>=0){
ivec[index]+=(num1[size1--]-'0');
}
if(size2>=0){
ivec[index]+=(num2[size2--]-'0');
}
index--;
}
index=size3-1;
for(;index>=0;--index){
ivec[index]+=carry;
carry=ivec[index]/10;
ivec[index]%=10;
}
index=0;
for(;index<size3;++index){
if(ivec[index]!=0){
break;
}
}
if(index==size3){
return "0";
}
res.clear();
for(;index<size3;++index){
res.push_back(ivec[index]+'0');
}
// res="0000";
return res;
}
};
public:
string addStrings(string num1, string num2) {
int size1 = num1.size();
int size2 = num2.size();
int size3 = max(size1,size2)+1;
vector<int> ivec(size3,0);
int carry=0;
string res;
int index=size3-1;
size1--;
size2--;
while(index>=0){
if(size1>=0){
ivec[index]+=(num1[size1--]-'0');
}
if(size2>=0){
ivec[index]+=(num2[size2--]-'0');
}
index--;
}
index=size3-1;
for(;index>=0;--index){
ivec[index]+=carry;
carry=ivec[index]/10;
ivec[index]%=10;
}
index=0;
for(;index<size3;++index){
if(ivec[index]!=0){
break;
}
}
if(index==size3){
return "0";
}
res.clear();
for(;index<size3;++index){
res.push_back(ivec[index]+'0');
}
// res="0000";
return res;
}
};