LeetCode67 二進位制求和

2021-09-28 11:00:50 字數 725 閱讀 9679

1.題目描述

給定兩個二進位制字串,返回他們的和(用二進位制表示)。

輸入為非空字串且只包含數字 1 和 0。

示例 1:

輸入: a = "11", b = "1"

輸出: "100"

示例 2:

輸入: a = "1010", b = "1011"

輸出: "10101"

2.解法

解法一:

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...