Heim  >  Artikel  >  Backend-Entwicklung  >  ## Wie kann die String-Verkettung die String-Rotation effizient bestimmen?

## Wie kann die String-Verkettung die String-Rotation effizient bestimmen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 18:32:15485Durchsuche

## How Can String Concatenation Efficiently Determine String Rotation?

Bestimmen der String-Rotation mithilfe der String-Verkettung

Eine bei der Programmierung von Interviews häufig auftretende Herausforderung besteht darin, zu überprüfen, ob ein String eine rotierte Version eines anderen ist. Bei zwei gegebenen Strings s1 und s2 besteht die Aufgabe darin, effizient zu prüfen, ob einer einfach eine zyklische Permutation des anderen ist.

In diesem Fall lieferte der Kandidat eine Lösung, die die Identifizierung des Rotationspunkts und die Aufteilung von s2 umfasst zwei Segmente, s2a und s2b. Durch die Verkettung dieser Segmente und den Vergleich des Ergebnisses mit s1 kann die Rotation bestätigt werden.

Der Interviewer äußerte jedoch eine Präferenz für einen einfacheren Ansatz. Hier ist eine einfachere Lösung mit String-Verkettung und String-Suche:

Java-Implementierung:

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

Python-Implementierung:

<code class="python">def is_rotation(s1, s2):
    return len(s1) == len(s2) and s2 in s1 * 2</code>

Bei dieser Lösung stellen wir zunächst sicher, dass beide Strings gleich lang sind. Dann verketten wir s1 mit sich selbst und erstellen so effektiv eine Zeichenfolge, die sowohl die ursprüngliche Zeichenfolge als auch ihre gedrehte Version enthält. Indem wir prüfen, ob s2 in dieser verketteten Zeichenfolge vorhanden ist, können wir feststellen, ob es sich bei dem einen um eine Drehung des anderen handelt.

Das obige ist der detaillierte Inhalt von## Wie kann die String-Verkettung die String-Rotation effizient bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn