首页 > 代码库 > [LeetCode] Add Binary

[LeetCode] Add Binary

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

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

 

 1 class Solution  2 { 3     public:    4         string addBinary(string a, string b) 5         {    6             string c; 7             int carry =  0;   8             int tmp = 0; 9             int size = max(a.size(), b.size());10     11             //逆序,更好处理12             reverse(a.begin(), a.end());13             reverse(b.begin(), b.end());14 15 16             for(int i = 0; i < size ; i++)17             {   18                 int ta = 0;19                 int tb = 0;20                 if(i < a.size()) //越界处理21                     ta = a[i] - 0;//处理字符串22                 if(i < b.size()) //越界处理23                     tb = b[i] - 0;//处理字符串24 25                 tmp =  ta + tb + carry;26                 c.insert(c.begin(), tmp % 2 + 0);27                 carry  =  tmp / 2;28             }   29 30             if(carry != 0)31                 c.insert(c.begin() ,1);32             return c;33         }   34 } ;