假设我们有两个由小写字母组成的字符串A和B;我们必须检查是否可以在A中交换两个字母,以便结果等于B。
因此,如果输入类似于A =“ ba”,B =“ ab”,则输出将为True。
为了解决这个问题,我们将遵循以下步骤-
如果A的大小与B的大小不同,则
返回False
否则,当A和B具有任何不常见的元素时,则
返回False
否则,当A与B相同且A中的所有字符都不同时,则
返回False
除此以外,
计数:0
对于0到A的范围内的i,执行
数:=数+ 1
如果计数等于3,则
返回False
如果A [i]与B [i]不同,则
返回True
让我们看下面的实现以更好地理解-
class Solution: def buddyStrings(self, A, B): if len(A)!=len(B): return False elif sorted(A)!=sorted(B): return False elif A==B and len(set(A))==len(A): return False else: count=0 for i in range(len(A)): if A[i]!=B[i]: count+=1 if count==3: return False return True ob = Solution()print(ob.buddyStrings("ba","ab"))
"ba","ab"
输出结果
True