Add Binary

Given two binary strings a and b, return their sum as a binary string.

 

Example 1:

Input: a = "11", b = "1"
Output: "100"

Example 2:

Input: a = "1010", b = "1011"
Output: "10101"

 

Constraints:

  • 1 <= a.length, b.length <= 104
  • a and b consist only of '0' or '1' characters.
  • Each string does not contain leading zeros except for the zero itself.
SOLUTION:
class Solution:
    def addBinary(self, a: str, b: str) -> str:
        m = len(a)
        n = len(b)
        if m > n:
            b = "0" * (m - n) + b
        else:
            a = "0" * (n - m) + a
        op = []
        k = max(m, n)
        i = k - 1
        carry = 0
        while i >= 0:
            currval = int(a[i]) + int(b[i]) + carry
            op.append(str(currval % 2))
            carry = currval // 2
            i -= 1
        return "1" * carry + "".join(op[::-1])

Comments

Popular posts from this blog

Encrypt and Decrypt Strings

Degree of an Array

Minimum Sum of Four Digit Number After Splitting Digits