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 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告