Add Binary

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

C++:
01 class Solution {
02 public:
03     string addBinary(string a, string b) {
04         // Start typing your C/C++ solution below
05         // DO NOT write int main() function
06         int n=a.size();
07         int m=b.size();
08         stack<char> tmp;
09         int carry=0;
10         if(n<m)
11         {
12             n=n+m;
13             m=nm;
14             n=nm;
15             string c=a;
16             a=b;
17             b=c;
18         }
19         for(int i=1;i<=m;i++)
20         {
21             int p=a[ni]‘0’;
22             int q=b[mi]‘0’;
23             int sum=p+q+carry;
24             if(sum>=2)
25             {
26                 sum=sum2;
27                 carry=1;
28             }
29             else
30             {
31                 carry=0;
32             }
33             char c=sum+‘0’;
34             tmp.push(c);
35         }
36         for(int i=m+1;i<=n;i++)
37         {
38             int p=a[ni]‘0’;
39             int sum=p+carry;
40               if(sum>=2)
41             {
42                 sum=sum2;
43                 carry=1;
44             }
45             else
46             {
47                 carry=0;
48             }
49             char c=sum+‘0’;
50             tmp.push(c);
51         }
52         if(carry==1)
53         {
54             tmp.push(carry+‘0’);
55         }
56         string result;
57         while(!tmp.empty())
58         {
59             char c=tmp.top();
60             tmp.pop();
61             result+=c;
62         }
63         return result;
64     }
65 };
Advertisements
This entry was posted in Array and linked list, String. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s