LeetCode 067 二進位制求和

2022-09-22 06:51:52 字數 1130 閱讀 7516

問題描述:

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

輸入為非空字串且只包含數字10

示例 1:

輸入:a = "11", b = "1"輸出:"100"
示例 2:

輸入:a = "1010", b = "1011"輸出:"10101"
方法1:

1

class

solution(object):

2def

deci(self,nums):

3 ans =0

4 nums = nums[::-1]

5for i in

range(len(nums)):

6if nums[i] == '1'

:7 ans += pow(2,i)

8return

ans9

defaddbinary(self, a, b):

10"""

11:type a: str

12:type b: str

13:rtype: str

14"""

15 res = self.deci(a) +self.deci(b)

16return bin(res)[2:]

方法2:

1

class

solution(object):

2def

addbinary(self, a, b):

3"""

4:type a: str

5:type b: str

6:rtype: str

7"""

8 num = int(a,2) + int(b,2)

9return bin(num)[2:]

2018-07-24 19:38:24