• 67. Add Binary


    # coding=utf-8
    
    #这是自己想的方法
    def addBinary(a, b):
        """
        :type a: str
        :type b: str
        :rtype: str
        将二进制字符串转为十进制,方法是按位分开乘以2的l-i-1幂
        然后转为二进制字符串
        """
        num1 = 0
        num2 = 0
        l1 = len(a)
        l2 = len(b)
        for i in range(l1):
            # python中字符串本身就是一个数组,所以直接索引就行
            num1 += int(a[i])*(2**(l1-i-1))
        for i in range(l2):
            num2 += int(b[i]) * (2 ** (l2 - i - 1))
        num = num1+num2
        # bin()可以将十进制转为二进制,返回结果是字符串,字符串可以分片
        return bin(num)[2:]
    # 牛人的答案
    def addBinary2(a, b):
        """
        :type a: str
        :type b: str
        :rtype: str
        方法一样,不过调用了python内置的将二进制字符串转为十进制int的方法
        """
        # int(a,base = 2)是把其他类型的二进制a转为十进制int,base还可以是8,16
        return bin(int(a,base=2) + int(b,base=2))[2:]
  • 相关阅读:
    hdu4726
    hdu2709
    hdu4706
    hdu4715
    快速幂取模
    快速幂
    asp.net中页面传值
    微信小程序支付
    sql 查询重复记录值取一条
    bower使用
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8078945.html
Copyright © 2020-2023  润新知