LeetCode Problem 67-Add Binary Posted on 2019-03-26 | In LeetCode | Visitors 二进制求和。给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 12输入: a = "11", b = "1" 输出: "100" 示例 2: 12输入: a = "1010", b = "1011" 输出: "10101" 思路一 与 Add Two Numbers 思路类似。 123456789101112131415class Solution: def addBinary(self, a: str, b: str) -> str: rs, carry = '', 0 i, j = len(a) - 1, len(b) - 1 while i >= 0 or j >= 0 or carry: s = carry if i >= 0: s += ord(a[i]) - ord('0') i -= 1 if j >= 0: s += ord(b[j]) - ord('0') j -= 1 carry, s = s // 2, s % 2 rs += chr(ord('0') + s) return rs[::-1] 相似问题 Add Two Numbers Multiply Strings Plus One Add to Array-Form of Integer 此时不赞何时赞! 赏 微信打赏 支付宝打赏