原题地址:力扣
简单题还没有很快写完。。。就是两数相加。
遍历时遍历max(n1,n2)写的简单一点。不然后面很多判断
class Solution:
def addBinary(self, a: str, b: str) -> str:
n1, n2 = len(a), len(b)
ret = ""
add = 0 # 进位
i = 1
for i in range(1, max(n1, n2)+1):
if i <= n1:
num1 = int(a[-i])
else:
num1 = 0
if i <= n2:
num2 = int(b[-i])
else:
num2 = 0
x = num1 + num2 + add
if x >= 2:
x = x - 2
add = 1
else:
add = 0
ret = str(x) + ret
if add == 1:
ret = '1' + ret
return ret