Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters 1
or 0
.
Example 1:
Input: a = "11", b = "1" Output: "100"
Example 2:
Input: a = "1010", b = "1011" Output: "10101"
Constraints:
- Each string consists only of
'0'
or'1'
characters. 1 <= a.length, b.length <= 10^4
- Each string is either
"0"
or doesn't contain any leading zero.
class Solution: def addBinary(self, a: str, b: str) -> str: ans = '' carry = 0 #进位标准位 a = list(a) #把a变成一个列表 b = list(b) #把b变成一个列表 while a or b or carry: if a: carry += int(a[-1]) a.pop() if b: carry += int(b[-1]) b.pop() ans = str(carry %2) + ans #把标志位余2 是这一位确切的数字 carry = carry//2 return ans