Leetcode67-二进制求和|刷题打卡

133 阅读1分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

一、题目描述

给你两个二进制字符串,返回它们的和(用二进制表示)

输入为非空字符串且只包含数字10

示例 1 :

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

示例 2 :

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

二、思路分析

  1. 二进制数转换为十进制数
  2. 进行十进制数的加法运算
  3. 将十进制数加法运算的和转换为二进制数返回。

三、AC 代码

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        ta = int(a, 2)
        tb = int(b, 2)
        tsum = ta + tb
        return "{0:b}".format(tsum)

输出为:

image.png

四、总结

该题是一道进制重复转换题,二进制的加减法运算可以先转换为十进制运算,进行运算后再将十进制运算结果转换为二进制数进行输出。