1.題目描述
給定兩個二進位制字串,返回他們的和(用二進位制表示)。2.解法輸入為非空字串且只包含數字 1 和 0。
示例 1:
輸入: a = "11", b = "1"
輸出: "100"
示例 2:
輸入: a = "1010", b = "1011"
輸出: "10101"
解法一:
class solution:
def addbinary(self, a: str, b: str) -> str:
a_i = len(a) - 1
b_j = len(b) - 1
carry = 0
res = ''
while a_i >= 0 or b_j >= 0:
tmp = 0
if a_i >= 0:
tmp += int(a[a_i])
a_i -= 1
if b_j >= 0:
tmp += int(b[b_j])
b_j -= 1
tmp += carry
carry = tmp // 2
res = str(tmp % 2) + res
return '1' + res if carry > 0 else res
Leetcode 67 二進位制求和
給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 class solution if blen 0 carry sum 2 錯誤的 if sum 2...
leetcode 67 二進位制求和
給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字1和0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 新鮮現做 幸福coding class solution object def addbinary se...
leetcode 67 二進位制求和
給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例1 輸入 a 11 b 1 輸出 100 示例2 輸入 a 1010 b 1011 輸出 10101 解題思路 老老實實的採用了較為暴力的列舉法來作答,所以 較為複雜,且可讀性較差 class solut...