美文网首页
[leetcode67]二进制求和

[leetcode67]二进制求和

作者: 欢仔_159a | 来源:发表于2023-10-13 13:31 被阅读0次

题目:
给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

示例 1:
输入:a = "11", b = "1"
输出:"100"

示例 2:
输入:a = "1010", b = "1011"
输出:"10101"

提示:
1 <= a.length, b.length <= 104
a 和 b 仅由字符 '0' 或 '1' 组成
字符串如果不是 "0" ,就不含前导零

本人的漂亮烂代码:

    def addBinary(self, a: str, b: str) -> str:
        # res = int(a, 2) + int(b, 2)
        # return bin(res)[2:]
        def convert_decimal(a):
            sum = 0
            length = len(a)
            for i,v in enumerate(a):
                sum += int(v)*(2**(length - 1 - i))
            return sum

        def convert_binary(a):
            if a==0:
                return "0"
            reminder = ""
            while a:
                reminder += str(a%2)
                a = a//2
            return reminder[::-1]  

        res = convert_decimal(a) + convert_decimal(b)
        res = convert_binary(res)  
        return res

反思:
1、直接使用int()和bin()库函数。
2、笨办法:先转换成十进制计算,然后再转换成二进制函
3、转换成二进制时,记得等于0的特殊情况;另外取模后记得转换成字符串str(),因为题目需要返回二进制字符串,且不能有"0b"。

相关文章

  • 二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。 示例 1:输入: ...

  • 二进制求和

  • 二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入...

  • 二进制求和

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-...

  • 二进制求和

    LeetCode第67题 题目描述: 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且...

  • 二进制求和

    题目 难度级别:简单 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 ...

  • 二进制求和

    力扣67题 思路:类似力扣第二题,相加之后模(%)进制数获得当前位数的值,然后用相加之后的数除以进制数,获得进位的...

  • 技术问 - 进制转换

    二进制转化成八进制 二进制转化成十六进制 任意进制转化为十进制 利用十进制转化十进制,推导出按权求和规律 按权求和...

  • LeetCode 每日一题 [28] 二进制求和

    LeetCode 二进制求和 [简单] 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串...

  • python 二进制求和(lintcode)

    描述: 二进制求和原题地址:http://www.lintcode.com/submission/10872869...

网友评论

      本文标题:[leetcode67]二进制求和

      本文链接:https://www.haomeiwen.com/subject/ihpibdtx.html