使用字串連線決定字串旋轉
程式設計面試中常見的挑戰包括驗證一個字串是否是另一個字串的旋轉版本。給定兩個字串 s1 和 s2,任務是有效檢查一個字串是否只是另一個字串的循環排列。
在這種情況下,候選人提供了一個解決方案,其中包括識別旋轉點並將 s2 分解為兩個段落,s2a 和 s2b。透過連接這些片段並將結果與 s1 進行比較,可以確認旋轉。
但是,面試官表示更喜歡更直接的方法。這是使用字串連接和字串搜尋的更簡單的解決方案:
Java 實作:
<code class="java">public static boolean isRotation(String s1, String s2) { return (s1.length() == s2.length()) && ((s1 + s1).indexOf(s2) != -1); }</code>
Python 實作:
<code class="python">def is_rotation(s1, s2): return len(s1) == len(s2) and s2 in s1 * 2</code>
在此解中,我們首先確保兩個字串的長度相等。然後,我們將 s1 與其自身連接起來,有效地建立一個包含原始字串及其旋轉版本的字串。透過檢查該連接字串中是否存在 s2,我們可以確定其中一個是否是另一個的旋轉。
以上是## 字串連線如何有效地決定字串旋轉?的詳細內容。更多資訊請關注PHP中文網其他相關文章!