###### tags: `leetcode` # Question 67. Add Binary ### Description: Given two binary strings a and b, return their sum as a binary string. ### Solution: ``` shift and bit calculation ``` ### AC code ```cpp= class Solution { public: string addBinary(string a, string b) { string ret = ""; int carry = 0; for(int i = a.size()-1, j = b.size()-1; i >=0 || j >=0; j--, i--){ int m = (i >=0 && a[i] == '1'); int n = (j >=0 && b[j] == '1'); ret = to_string((m+n+carry) & 0x1 )+ret; carry = (m+n+carry) >> 1; } return carry? '1'+ret:ret; } }; ```