67.二進位制求和
class solution:
def addbinary(self, a: str, b: str) -> str:
if a=='0' and b=='0':
return '0'
else:
x=0for i in range(1,len(a)+1):
x+=int(a[-i])*pow(2,i-1)
for i in range(1,len(b)+1):
x+=int(b[-i])*pow(2,i-1)
y=''
while x>0:
x,z=divmod(x,2)
y=str(z)+y
return y`
方法二:
```python
a:str
=input
("輸入a:")b:
str=
input
("輸入b:")if
len(a)
<
len(b)
: a,b=b,a
a=list
(a)for i in
range(-
1,-len
(b)-1,
-1):
if b[i]
=='1'
:if a[i]
=='1'
: k=i
while
(a[k])==
'1':
a[k]
='0'
k-=1if k==
-len
(a)-1:
a.insert(0,
'0')
break
a[k]
='1'
else
: a[i]
='1'
print(''
.join(a)
)
這裡認為a比b長,將a 轉化為列表,對b從右向左遍歷,如果b[i]的值不是1,就不需要進製,如果是1 ,則考慮進製問題,其中還有乙個由進製產生多出一位的情況,則在最前面插入乙個『0』
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...