类型:字符串
-
- 二进制求和 💚 ⭐
https://leetcode-cn.com/problems/add-binary/
❓ 给你两个字符串表示的二进制数,求和,同样以字符串返回。
💡 模拟
模拟竖式运算,从后往前逐位相加并进位。
class Solution: def addBinary(self, a: str, b: str) -> str: if not a: return b if not b: return a c = '' i = len(a) - 1 carry = 0 if len(a) < len(b): a = '0' * (len(b) - len(a)) + a elif len(b) < len(a): b = '0' * (len(a) - len(b)) + b for i in range(len(a) - 1, -1, -1): val = int(a[i]) + int(b[i]) + carry c = str(val % 2) + c carry = 0 if val < 2 else 1 if carry == 1: c = '1' + c return c时间复杂度:O(max(m, n)),空间复杂度:O(max(m, n))