Heim > Backend-Entwicklung > C++ > Hauptteil

## Ist String s2 eine gedrehte Version von String s1?

Mary-Kate Olsen
Freigeben: 2024-10-25 07:12:29
Original
176 Leute haben es durchsucht

## Is String s2 a Rotated Version of String s1?

Interviewfrage: Identifizieren der String-Rotation

Angesichts zweier Strings, s1 und s2, stand ein Befragter kürzlich vor der Frage, ob s1 a ist gedrehte Version von s2. Eine gedrehte Version bezieht sich auf eine Zeichenfolge, deren Zeichen um eine bestimmte Anzahl von Positionen nach links oder rechts verschoben wurden, was zu einer neuen Zeichenfolge führt, die dieselben Zeichen in einer anderen Reihenfolge enthält.

Vereinfachte Lösung

Um dieses Problem zu lösen, kann ein einfacher, aber effektiver Ansatz angewendet werden. Bevor Sie fortfahren, müssen Sie unbedingt sicherstellen, dass beide Zeichenfolgen, s1 und s2, die gleiche Länge haben. Sobald dies bestätigt ist, können wir s1 mit sich selbst verketten, um eine längere Zeichenfolge zu bilden, die als s1s1 bezeichnet wird.

Der Kern der Lösung besteht nun darin, zu untersuchen, ob s2 eine Teilzeichenfolge der verketteten Zeichenfolge s1s1 ist. Wenn s2 tatsächlich eine Teilzeichenfolge von s1s1 ist, deutet dies darauf hin, dass die Zeichen von s2 in einem zusammenhängenden Segment von s1s1 gefunden werden können. Folglich würde eine Drehung von s1, die im Wesentlichen seine Zeichen verschiebt, zu einer neuen Zeichenfolge führen, die s2 als Teilzeichenfolge beibehält.

Beispiel

Betrachten Sie die Zeichenfolgen s1 = „stackoverflow“ und s2 = „tackoverflows“. Indem wir s1 mit sich selbst verketten, erhalten wir die Zeichenfolge s1s1 = „stackoverflowstackoverflow“. Beachten Sie, dass s2 ein Teilstring von s1s1 ist, was bedeutet, dass s1 und s2 gedrehte Versionen voneinander sind.

Diese vereinfachte Lösung nutzt die leistungsstarken Funktionen von Teilstring-Suchalgorithmen und bietet eine effiziente Möglichkeit, die String-Rotation zu bestimmen. Durch die Vermeidung übermäßiger Schleifen oder Manipulationen bietet es einen prägnanten und eleganten Ansatz zur Lösung des Problems.

Das obige ist der detaillierte Inhalt von## Ist String s2 eine gedrehte Version von String s1?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!