Sunday, 20 December 2015

LeetCode Add Binary adddition of two strings

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