首頁  >  文章  >  後端開發  >  一根弦是另一根弦的旋轉嗎? Java 中的簡單方法。

一根弦是另一根弦的旋轉嗎? Java 中的簡單方法。

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-25 01:56:30568瀏覽

Is a String a Rotation of Another? A Simple Approach in Java.

如何確定一個字串是否是另一個字串的旋轉

在軟體面試中,候選人可能會遇到這樣有趣的問題:給定兩個字串s1 和s2,如何確定s1 是否是s2 的旋轉變體?

當一根弦在樞軸點被分割並且兩半以相反的順序重新連接時,它會被旋轉。例如,「stackoverflow」可以旋轉為「tackoverflows」或「ackoverflowst」。

受訪者提出的一種可能的解決方案是找到 s2 的最長前綴,該前綴是 s1 的子字串。這標識了旋轉點。一旦找到,就可以將 s2 分成兩個子字串,並檢查它們的串聯是否等於 s1。

但是,面試官要求更簡單的解決方案。考慮以下方法:

  • 確保 s1 和 s2 具有相同的長度。
  • 驗證s2 是否作為s1 中的子字串存在,這是透過將s1 與自身連接並蒐索來實現的s2.

在Java 中,該方法可以實現如下:

<code class="java">boolean isRotation(String s1,String s2) {
    return (s1.length() == s2.length()) &amp;&amp; ((s1+s1).indexOf(s2) != -1);
}</code>

透過使用字串連接和搜索,該解決方案可以有效地確定一個字串是否是以下字串的旋轉版本另一個。

以上是一根弦是另一根弦的旋轉嗎? Java 中的簡單方法。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn