leetCode 二進位制求和

2021-10-07 11:06:10 字數 905 閱讀 9338

題目描述

給你兩個二進位制字串,返回它們的和(用二進位制表示)。輸入為空字串且只包含數字1和0。

示例 1:

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

輸出: "100"

示例 2:

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

輸出: "10101"

每個字串僅由字元 '0' 或 '1' 組成。

1 <= a.length, b.length <= 10^4

字串如果不是 "0" ,就都不含前導零。

方法1

將字串轉成陣列在翻轉,按二進位制加法進行計算,將結果儲存為陣列,最後在翻轉就行了。

class solution:

def addbinary(self, a: str, b: str) -> str:

a = list(a)[::-1]

b = list(b)[::-1]

sum =

carry = 0

list_len = len(a) if len(a) >= len(b) else len(b)

for i in range(0, list_len):

if i < len(a):

val1 = int(a[i])

else:

val1 = 0

if i < len(b):

val2 = int(b[i])

else:

val2 = 0

value = val1 + val2 + carry

carry = value // 2

if carry != 0:

sum = sum[::-1]

return ''.join(sum)

二進位制求和 LeetCode

從後向前遍歷每乙個字串的每乙個字元,直到走完所有位,比如兩個字串分別是a 101 和 b 11 則第一次取a的最後一位1和b的最後一位1,初始沒有進製,則進製為0,相加為2,變為0,進一位,總結起來就是 每個字串各取一位相加,然後再加上進製 如果有為1,沒有為0 得到的值設為x,x 2即為新的進製,...

LeetCode 二進位制求和

二進位制求和 簡單 2020年4月28日 給你兩個二進位制字串,返回它們的和 用二進位制表示 輸入為 非空 字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 每個字串僅由字元 0 或 1 組成。1 a.leng...

Leetcode 二進位制求和 簡單

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 比較直觀,先把兩個字串補到一樣長,然後模擬進製即可.string方法 s.length 獲取長度 ...