leetcode 算法 67.二进制求和(python版)

需求

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。
示例 1:
输入:a = “11”, b = “1”
输出:“100”
示例 2:
输入:a = “1010”, b = “1011”
输出:“10101”

代码

class Solution:
    def binary_sum(self,a,b):
        # 将二进制字符串转换为整数
        # int(a,2)第一个参数表示正常传入的字符串,第二个参数表示输出的进制数
        num1 = int(a, 2)
        print(num1)
        num2 = int(b, 2)
        print(num2)
        # 执行加法操作
        # bin()函数返回一个以"0b"开头的字符串,表示给定整数的二进制形式。
        # oct()来将整数转换为八进制。以‘0o’开头
        # hex()来将整数转换为十六进制。以‘0x’开头
        sum_num = bin(num1 + num2)[2:]  # 使用bin函数转换为二进制并去掉前两个字符('0b')
        print(num1 + num2)
        print(bin(num1 + num2))
        print("--------------------------------")

        return sum_num

if __name__ == '__main__':
    call=Solution()
    a = "1010"
    b = "1011"
    print(call.binary_sum(a, b))

运行结果

leetcode 算法 67.二进制求和(python版)_第1张图片

你可能感兴趣的:(算法,leetcode,python)