題目描述給你兩個二進位制字串,返回它們的和(用二進位制表示)。輸入為空字串且只包含數字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 獲取長度 ...