問題描述:
給定兩個二進制字符串,返回他們的和(二進制表示)
問題示例:
輸入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