美文网首页
leetcode--67--二进制求和

leetcode--67--二进制求和

作者: 北海bei | 来源:发表于2020-03-09 13:58 被阅读0次

题目描述:

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

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

示例 2:

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

解题思路:

二进制转化为十进制,然后将十进制转化为二进制


代码1:

class Solution(object):
    def addBinary(self, a, b):
        a1 = int(a, 2)  # 二进制转换为十进制
        b1 = int(b, 2)  # 二进制转换为十进制
        sum1 = a1 + b1

        sum1 = bin(sum1).replace('0b', '')  # 十进制转换为二进制
        return sum1

s = Solution()
a = "1010"
b = "1011"

print(s.addBinary(a, b))

代码2:

class Solution(object):
    def addBinary(self, a, b):
        sum_a = 0
        for i in a:
            sum_a = sum_a * 2 + int(i)
        sum_b = 0
        for j in b:
            sum_b = sum_b * 2 + int(j)
        sum = sum_a + sum_b
        if sum == 0:
            return "0"
        ls = []
        while sum:
            ls.append(str(sum % 2))
            sum = int(sum / 2)
        return ''.join(ls[::-1])

s = Solution()
a = "1010"
b = "1011"
print(s.addBinary(a, b))

题目来源:

https://leetcode-cn.com/problems/add-binary

相关文章

  • leetcode--67--二进制求和

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

  • 二进制求和

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

  • 二进制求和

  • 二进制求和

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

  • 二进制求和

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

  • 二进制求和

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

  • 二进制求和

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

  • 二进制求和

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

  • 技术问 - 进制转换

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

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

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

网友评论

      本文标题:leetcode--67--二进制求和

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