Given two binary strings, return their sum (also a binary string).
题目分析:计算二进制数的加减法。
示例:
a = “11”
b = “1”
Return “100”
方法一:
在写这篇博客前,我并不知道bin()这个方法。所以在这里给和我一样不了解的人科普一下。
bin() 返回一个整数 int 或者长整数 long int 的二进制表示。
使用bin()方法是解决这道题最好的方法。
.>>>bin(10)
‘0b1010’
.>>>bin(20)
‘0b10100’
- 根据bin()方法的定义,可知需要将题目中给出的字符串格式换成整形。这里还出现一个不太常用的int(x,2)—>2表示转换成二进制。通常我们用int()方法不带逗号后面的进制转化。这里捎带复习一下。
- 使用bin()将整形的两个数相加,转换成二进制。这里需要让结果从第二位开始输出,是因为使用bin()出来的结果开头都带有0b,然后才是正确运算结果。
- 代码:
class Solution:
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
a=int(a,2)
b=int(b,2)
return bin(a+b)[2:]