Python中的伙伴字符串


假设我们有两个小写字母字符串A和B;我们必须检查我们是否可以在A中交换两个字母以使结果等于B。

因此,如果输入类似于A = "ba",B = "ab",则输出将为True。

要解决此问题,我们将遵循以下步骤−

  • 如果A的大小与B的大小不同,则
    • 返回假
  • 否则,当A和B有任何元素不公同时,则
    • 返回假
  • 否则,当A和B相同时,并且A中的所有字符都各不相同时,则
    • 返回假
  • 否则,
    • count:= 0
  • 对于从0到A的大小范围内的i,执行
    • 如果A[i]与B[i]不同,则
      • count := count + 1
      • 如果count与3相同,则
        • 返回假
  • 返回真

我们来看看以下实现以获得更好的理解−

示例

 实时演示

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

更新于: 2020年7月4日

591 次浏览

开启你的职业生涯

完成课程,获得认证

开始学习
广告