Heim >Backend-Entwicklung >PHP-Tutorial >Teilzeichenfolgen zwischen jedem Klammerpaar umkehren

Teilzeichenfolgen zwischen jedem Klammerpaar umkehren

王林
王林Original
2024-07-16 11:21:41586Durchsuche

Reverse Substrings Between Each Pair of Parentheses

1190. Teilzeichenfolgen zwischen jedem Klammerpaar umkehren

Mittel

Sie erhalten eine Zeichenfolge s, die aus englischen Kleinbuchstaben und Klammern besteht.

Kehren Sie die Zeichenfolgen in jedem Paar passender Klammern um, beginnend mit der innersten.

Ihr Ergebnis sollte keine Klammern enthalten.

Beispiel 1:

  • Eingabe: s = "(abcd)"
  • Ausgabe: „dcba“

Beispiel 2:

  • Eingabe: s = "(u(love)i)"
  • Ausgabe: „iloveu“
  • Erklärung:Der Teilstring „love“ wird zuerst umgekehrt, dann wird der gesamte String umgekehrt.

Beispiel 3:

  • Eingabe: s = "(ed(et(oc))el)"
  • Ausgabe: „leetcode“
  • Erklärung: Zuerst kehren wir die Teilzeichenfolge „oc“ um, dann „etco“ und schließlich die gesamte Zeichenfolge.

Einschränkungen:

  • 1 <= s.length <= 2000
  • s enthält nur englische Kleinbuchstaben und Klammern.
  • Es ist garantiert, dass alle Klammern ausgeglichen sind.

Lösung:

Hier ist der Schritt-für-Schritt-Plan:

  1. Verwenden Sie einen Stapel, um den Überblick über die Zeichen und verschachtelten Klammern zu behalten.
  2. Durchlaufen Sie jedes Zeichen in der Zeichenfolge.
  3. Wenn Sie auf eine öffnende Klammer „(“ stoßen, schieben Sie sie auf den Stapel.
  4. Wenn Sie auf eine schließende Klammer „)“ stoßen, entfernen Sie sie vom Stapel, bis Sie eine öffnende Klammer „(“ erreichen. Drehen Sie die gesammelte Teilzeichenfolge um und schieben Sie sie zurück auf den Stapel.
  5. Zum Schluss verketten Sie die Stapelinhalte, um das Ergebnis zu erhalten.

Hier ist die Implementierung in PHP: 1190. Teilzeichenfolgen zwischen jedem Klammerpaar umkehren






Erläuterung

  • Die Funktion reverseParentheses nimmt einen String s als Eingabe.
  • Ein Stapel wird verwendet, um Zeichen und verschachtelte Klammern zu verfolgen.
  • Während wir die Zeichenfolge durchlaufen:
    • Wenn wir auf eine schließende Klammer stoßen, fangen wir an, vom Stapel zu springen, bis wir eine öffnende Klammer finden (.
    • Wir sammeln die herausgeplatzten Zeichen (die in den Klammern stehen), kehren sie um und schieben sie zurück auf den Stapel.
    • Wenn das Zeichen keine schließende Klammer ist, wird es direkt auf den Stapel verschoben.
  • Schließlich verketten wir die Elemente des Stapels, um die Ergebniszeichenfolge zu bilden, und stellen dabei sicher, dass die Klammern nicht enthalten sind.

Diese Methode verarbeitet verschachtelte Klammern effizient und stellt die richtige Reihenfolge der Zeichen sicher, nachdem die Teilzeichenfolgen innerhalb jedes Klammerpaars umgekehrt wurden.

Kontaktlinks

  • LinkedIn
  • GitHub

Das obige ist der detaillierte Inhalt vonTeilzeichenfolgen zwischen jedem Klammerpaar umkehren. 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