day10笔记
1.题目描述
2.代码构思(debug)
方法1
考虑一个最朴素的方法:先将 aa 和 bb 转化成十进制数,求和后再转化为二进制数。利用 Python 和 Java 自带的高精度运算,我们可以很简单地写出这个程序:
class Solution:
def addBinary(self, a: str, b: str) -> str:
a, b = int(a, 2), int(b, 2)
return bin(a + b)[2:]
方法2
class Solution:
def addBinary(self, a: str, b: str) -> str:
if not a and not b:
return
r, p = '', 0
d = len(b) - len(a)
a = '0' * d + a
b = '0' * -d + b
for i, j in zip(a[::-1], b[::-1]):
s = int(i) + int(j) + p
r = str(s % 2) + r
p = s // 2
return '1' + r if p else r