题解 | #牛群的编码#

牛群的编码

https://www.nowcoder.com/practice/fd18eec140244f31ac817757a54b4a39

考察知识点:进制之间的转换以及计算

注意:返回是字符串类型的数字

题目分析

先将二进制转换为十进制去计算两数之和,再将十进制转为二进制

十进制转二进制采用"除2取余,逆序排列"法

采用的编程语言:Python

完整的编码代码:如下所示

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param a string字符串 
# @param b string字符串 
# @return string字符串
#
class Solution:
    def addBinary(self , a: str, b: str) -> str:
      #二进制转十进制
        def BtoD(data:str):
            sum=0
            j=0
            for i in data[::-1]:
                sum=sum+(int(i)*(2**j))
                j=j+1
            return sum
		    #十进制转二进制
        def DtoB(data:int):
            if data==0:
                return 0
            else:
                return data%2+10*DtoB(data//2)
        add=BtoD(a)+BtoD(b)
        result=str(DtoB(add))
        return result

面试高频TOP202解析 文章被收录于专栏

采用Java,C,Python等方法去解答面试高频TOP202题目,

全部评论

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务