zoukankan      html  css  js  c++  java
  • 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:]
  • 相关阅读:

    (luogu)[模板]最长公共子序列
    表达式的值
    邮票面值设计
    尼克的任务
    HISTOGRA
    消防局的设立
    青蛙的约会
    产生数
    奇怪的电梯
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8078945.html
Copyright © 2011-2022 走看看