[67][简单] 二进制求和
最后更新于
最后更新于
class Solution:
def addBinary(self, a: str, b: str) -> str:
n, m = len(a), len(b)
res = []
carry = 0
for i in range(max(n, m)):
ba = int(a[n - i - 1] if n - i - 1 >= 0 else '0')
bb = int(b[m - i - 1] if m - i - 1 >= 0 else '0')
number = ba ^ bb ^ carry
carry = (ba + bb + carry) // 2
res.append(str(number))
if carry:
res.append('1')
return ''.join(res[::-1])class Solution:
def addBinary(self, a: str, b: str) -> str:
x, y = int(a, 2), int(b, 2)
while y:
answer = x ^ y
carry = (x & y) << 1
x, y = answer, carry
return bin(x)[2:]