Given two binary strings a
and b
, return their sum as a binary string.
Input: a = "11", b = "1"
Output: "100"
Input: a = "1010", b = "1011"
Output: "10101"
1 <= a.length, b.length <= 104
a
andb
consist only of'0'
or'1'
characters.- Each string does not contain leading zeros except for the zero itself.
class Solution:
def addBinary(self, a: str, b: str) -> str:
ans = ""
a, b = list(a), list(b)
carry = 0
while a or b or carry:
if a:
carry += int(a.pop())
if b:
carry += int(b.pop())
ans = str(carry & 1) + ans
carry >>= 1
return ans
Simple binary addition.