二进制求和Python解法

时间:2025-03-22 07:07:48

给你两个二进制字符串,返回它们的和(用二进制表示)。

输入为 非空 字符串且只包含数字 10

输入: 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函数先将二进制字符串转换成十进制然后相加。