易小侠 2022-02-01 13:34 采纳率: 93.9%
浏览 24
已结题

用python解决二进制求和问题

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

输入为 非空 字符串且只包含数字 1 和 0。

示例 1:

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

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

提示:

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

  • 写回答

3条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-02-01 21:40
    关注
    a='1010'
    b='1011'
    lena,lenb = len(a),len(b)
    lsta,lstb = list(a),list(b)
    s = max(lena,lenb)
    R,r,C = [],0,0
    while s:
        A = int(lsta.pop()) if len(lsta) else 0
        B = int(lstb.pop()) if len(lstb) else 0
        s -= 1
        r = A+B+C
        if r == 2:
            r,C = 0,1
        elif r == 3:
            r,C = 1,1
        else:
            C = 0
        R.append(str(r))
    if C==1:
        R.append('1')
    
    print(''.join(R[::-1]))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 已采纳回答 2月7日
  • 创建了问题 2月1日

悬赏问题

  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM