領扣 二進位制求和 Python實現

2021-09-08 08:28:50 字數 1379 閱讀 3675

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

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

示例 1:

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

輸出: "100"

示例 2:

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

輸出: "10101"

'''

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

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

示例 1:

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

輸出: "100"

示例 2:

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

輸出: "10101"

'''class solution:

def addbinary(self, a, b):

""":type a: str

:type b: str

:rtype: str

"""#return bin(int(a,2)+int(b,2))[2:]

la, lb = len(a), len(b)

i, j = la - 1, lb - 1

cin = 0

result = ''

while (i >= 0) and (j >= 0):

tmp = (cin + int(a[i]) + int(b[j])) % 2

cin = (cin + int(a[i]) + int(b[j])) // 2

result = str(tmp) + result

i -= 1

j -= 1

if i < 0 and j >= 0:

while j >= 0:

tmp = (cin + int(b[j])) % 2

cin = (cin + int(b[j])) // 2

result = str(tmp) + result

j -= 1

elif i >= 0 and j < 0:

while i >= 0:

tmp = (cin + int(a[i])) % 2

cin = (cin + int(a[i])) // 2

result = str(tmp) + result

i -= 1

if cin == 1:

result = '1' + result

return result

object=solution()

result=object.addbinary('101010','11101')

print(result)

github原始碼:

二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 1 使用jdk進製轉化 1,第一時間想到使用jdk自帶方法,將給定的二進位制數轉化為十進位制 2,...

二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 最直觀的解法 public string addbinary string a,string b ...

二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。str儲存了所有a b的累加值。for int k str.length 1 k 0 k 在累加過程中會出現值為3的位子,則將本位子置1,然後進1 if str.charat k 3 第乙個位子若產生進製需要...