当前位置:   article > 正文

Python描述 LeetCode 67. 二进制求和_letcode二进制求和python

letcode二进制求和python

Python描述 LeetCode 67. 二进制求和

  大家好,我是亓官劼(qí guān jié ),在【亓官劼】公众号、CSDN、GitHub、B站等平台分享一些技术博文,主要包括前端开发、python后端开发、小程序开发、数据结构与算法、docker、Linux常用运维、NLP等相关技术博文,时光荏苒,未来可期,加油~

  如果喜欢博主的文章可以关注博主的个人公众号【亓官劼】(qí guān jié),里面的文章更全更新更快。如果有需要找博主的话可以在公众号后台留言,我会尽快回复消息.

在这里插入图片描述


本文原创为【亓官劼】(qí guān jié ),请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 全部文章请关注微信公众号【亓官劼】。

题目

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

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

示例 1:

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

示例 2:

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

提示:

  • 每个字符串仅由字符 '0''1' 组成。
  • 1 <= a.length, b.length <= 10^4
  • 字符串如果不是 "0" ,就都不含前导零。

Python描述

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        a,b = a[::-1],b[::-1]
        n,m,i = len(a),len(b),0
        res = ""
        p = 0
        while i < n or i < m or p:
            ta = int(a[i]) if i < n else 0
            tb = int(b[i]) if i < m else 0
            tmp = (ta+tb+p)%2
            p = (ta+tb+p)//2
            res = res + str(tmp)
            i += 1
        return res[::-1]
            
            
        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/972830
推荐阅读
相关标签
  

闽ICP备14008679号