给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1
和 0
。
输入: a = "1010", b = "1011" 输出: "10101"
解析:
方法一:二进制计算原理,首先在字符串前添加“0”使得两个字符串同样长,然后从尾向头一位一位的相加,标记是否进位即可。
方法二:转换成十进制相加然后转换成二进制,有点取巧。
class Solution(object):
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
return bin(int(a, 2)+int(b, 2))[2:]
# bin函数可以将十进制转换成二进制字符串形式,输出会带有两个首部字符,所以从第三个字符开始取。
# int函数先将二进制字符串转换成十进制然后相加。