15 Jun 2024C++ / Python / TypeScriptEasy

Add Binary

Collected C++, Python, TypeScript solutions for add binary. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Add Binary. the solution files are available below.

solution files

  • C++ add-binary/synced-solution.cpp
  • Python add-binary/synced-solution.py
  • TypeScript add-binary/synced-solution.ts

Solution files

Pythonadd-binary/synced-solution.py
class Solution:
    def addBinary(self, a: str, b: str) -> str:
        return bin(int(a, class="syntax-number">2) + int(b, class="syntax-number">2))[class="syntax-number">2:]
C++add-binary/synced-solution.cpp
class Solution {
public:
    string addBinary(string a, string b) {
        string res = class="syntax-string">"";
        int carry = class="syntax-number">0, i = a.size()-class="syntax-number">1, j = b.size()-class="syntax-number">1;
        while (i >= class="syntax-number">0 || j >= class="syntax-number">0 || carry) {
            int sum = carry;
            if (i >= class="syntax-number">0) sum += a[i--] - class="syntax-string">'class="syntax-number">0';
            if (j >= class="syntax-number">0) sum += b[j--] - class="syntax-string">'class="syntax-number">0';
            res = char(class="syntax-string">'class="syntax-number">0' + sum%class="syntax-number">2) + res;
            carry = sum / class="syntax-number">2;
        }
        return res.empty() ? class="syntax-string">"class="syntax-number">0" : res;
    }
};
TypeScriptadd-binary/synced-solution.ts
function addBinary(a: string, b: string): string {
    return (BigInt(class="syntax-string">'0b' + a) + BigInt(class="syntax-string">'0b' + b)).toString(class="syntax-number">2);
}