檢查Python中是否可以透過旋轉另一個字串兩次得到一個字串


假設我們有兩個字串s和t。我們必須檢查是否可以透過向左或向右旋轉t兩次來得到s。

因此,如果輸入像s = "kolkata" t = "takolka",則輸出將為True,因為我們可以將"takolka"向左旋轉兩次以獲得"kolkata"。

為了解決這個問題,我們將遵循以下步驟:

  • 如果s的長度與t的長度不同,則
    • 返回False
  • right_rot := 空字串
  • left_rot := 空字串
  • l := t的長度
  • left_rot := left_rot 連線 t[從索引l-2到結尾] 連線 t[從索引0到l-3]
  • right_rot := right_rot 連線 t[從索引2到結尾] 連線 t[從索引0到1]
  • 如果(s與right_rot相同或s與left_rot相同),則返回true,否則返回false

讓我們看看下面的實現以更好地理解:

示例

線上演示

def solve(s, t):
   if (len(s) != len(t)):
      return False
   right_rot = ""
   left_rot = ""
   l = len(t)
   left_rot = (left_rot + t[l - 2:] + t[0: l - 2])
   right_rot = right_rot + t[2:] + t[0:2]
   return (s == right_rot or s == left_rot)
s = "kolkata"
t = "takolka"
print(solve(s, t))

輸入

"kolkata", "takolka"

輸出

True

更新於:2020-12-29

230 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.