Python中的好友字符串

假设我们有两个由小写字母组成的字符串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