给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
示例 1:
输入: a = "11", b = "1" 输出: "100" 示例 2:
输入: a = "1010", b = "1011" 输出: "10101"
解答:
class Solution:
def addBinary(self, a: str, b: str) -> str:
Sum1, Sum2 = 0, 0
for i in range(len(a)):
Sum1 += int(a[i]) * (2 ** (len(a) - i - 1))
for j in range(len(b)):
Sum1 += int(b[j]) * (2 ** (len(b) - j - 1))
Sum = Sum1 + Sum2
return bin(Sum)[2:]
这道题的计算方式和之前的Excel表列序号计算方式很相似,总体来说这道题这种解法比较常规,就是熟悉字符串的一些基本操作。