问题描述:
给定两个二进制字符串,返回他们的和(二进制表示)
问题示例:
输入a=11,b=1,输出res = 100
代码实现:
class Solution:
def addBinary(self,a,b):
indexa = len(a)-1
indexb = len(b)-1
carry = 0
sum = " "
while indexa >=0 or indexb >= 0:
x = int(a[indexa]) if indexa >= 0 else 0
y = int(a[indexb]) if indexb >= 0 else 0
if (x+y+carry)%2 == 0:
sum = '0' + sum
else:
sum = "1" + sum
carry = (x+y+carry)/2
indexa,indexb = indexa-1,indexb-1
if carry == 1:
sum = "1" + sum
return sum
if __name__ =='__main__':
a = input("请输入字符串1:")
b = input("请输入字符串2:")
temp = Solution()
res = temp.addBinary(a,b)
print(res)
输出:
请输入字符串1:11
请输入字符串2:1
100