在leetcode中“亲密字符串”一题出现了这个bug,代码如下
class Solution:
def buddyStrings(self, A: str, B: str) -> bool:
if len(A) != len(B):
return False
idx = [i for i in range(len(A)) if A[i] != B[i]]
if len(idx)==0 and len(A)-len(set(A)) > 0:
return True
if len(idx)==2 and A[idx[0]]==B[idx[1]] and A[idx[1]]==B[idx[0]] :
return True
return False
用“and”连接条件,不报错
class Solution:
def buddyStrings(self, A: str, B: str) -> bool:
if len(A) != len(B):
return False
idx = [i for i in range(len(A)) if A[i] != B[i]]
if len(idx)==0 & len(A)-len(set(A)) > 0:
return True
if len(idx)==2 & A[idx[0]]==B[idx[1]] & A[idx[1]]==B[idx[0]] :
return True
return False
用“&”连接条件,报错:TypeError: unsupported operend type(s) for & : ‘int’ and ‘str’