LeetCode Add Binary addition of two strings
class Solution {
public:
string addBinary(string str1, string str2) {
int l1=str1.size();
int l2=str2.size();
int i=l1-1,j=l2-1;
int carry=0;
int sum;
string result;
stack < char > s;
while(i>=0 && j>=0){
sum=carry + (str1[i]-'0') + (str2[j]-'0');
carry=sum/2;
s.push((sum%2)+48);
i--;
j--;
}
if(i==-1 && j==-1 && carry!=0){
s.push(carry+48);
}
if(i>=0){
while(i>=0){
sum=carry+(str1[i]-'0');
carry=sum/2;
s.push((sum%2)+48);
i--;}
if(i==-1 && carry!=0){
s.push(carry+48);
}
}
if(j>=0){
while(j>=0){
sum=carry+(str2[j]-'0');
carry=sum/2;
s.push((sum%2)+48);
j--;}
if(j==-1 && carry!=0){
s.push(carry+48);
}
}
while(!s.empty()){
result.push_back(s.top());
s.pop();
}
return result;
}
};
No comments:
Post a Comment