給你兩個二進位制字串,返回它們的和(用二進位制表示)。
輸入為非空字串且只包含數字1
和0
。
示例 1:
示例 2:輸入: a = "11", b = "1"
輸出: "100"
題目比較簡單,將兩個二進位制的字串加起來然後返回乙個二進位制的字串輸入: a = "1010", b = "1011"
輸出: "10101"
我採用的方式是將二進位制之和轉為十進位制在轉為二進位制,有兩個方法:自己寫和呼叫內建函式
呼叫內建函式
補充幾個內建函式
**如下:
總結:**比較簡單,有些內建函式還不是太熟悉。class solution:
def addbinary(self, a: str, b: str) -> str:
temp1,temp2 = 0,0
for i in range(len(a)):
if int(a[i])==1:
temp1+=2**(len(a)-i-1)
for i in range(len(b)):
if int(b[i])==1:
temp2+=2**(len(b)-i-1)
sum = temp1+temp2
if sum==0:
return '0'
res=''
#十進位制轉二進位制,除2取餘,直到商為0的時候
#返回商和餘數
while sum:
sum, z = divmod(sum, 2)
res+=str(z)
return res[::-1]
#呼叫內建函式
sum = int(a,2)+int(b,2)
binary = bin(sum)
return binary[2:]
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...