使用字串連接進行旋轉驗證
在軟體開發面試中,候選人經常面臨複雜的問題來測試他們解決問題的能力。其中一個挑戰是確定一個字串是否是另一個字串的旋轉版本。
考慮以下面試問題:
問題:
給定兩個字串, s1 和s2,如何判斷s1 是否為s2 的旋轉版本?
範例:
最佳解決方案:
更有效的解決方案利用字串連接。它檢查 s2 是否是 s1 與其自身連接的子字串。這可確保考慮所有可能的旋轉。偽代碼:
algorithm checkRotation(string s1, string s2) if( len(s1) != len(s2)) return false if( substring(s2,concat(s1,s1)) return true return false end
Java 實作:
<code class="java">boolean isRotation(String s1,String s2) { return (s1.length() == s2.length()) && ((s1+s1).indexOf(s2) != -1); }</code>該演算法提供了一種簡單演算法的方法來確定一個字串是否是另一個字串的旋轉,滿足面試官對更簡單解決方案的要求。
以上是以下是一些標題選項,結合問答格式並專注於關鍵要點: **選項 1(直接且簡潔):** * **字串 s1 是字串 s2 的旋轉嗎?一個簡單的解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!