0Pricing
Competitive Programming Academy · Lektion

Stapel zum Abgleichen von Klammern

Validieren Sie Klammern mit einem Stapel

Stapel zum Abgleichen von Klammern ist eine kostenlose Competitive Programming Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Competitive Programming Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Competitive Programming Academy-Kurs umfasst insgesamt 4 Lektionen.

Last In, First Out

Ein Stack ist ein Stapel, bei dem das zuletzt hinzugefügte Element als Erstes entfernt wird – genau wie beim Stapeln von Tellern. 🍽️

Python-Listen sind Stacks

In Python benötigen Sie keine spezielle Klasse. Eine einfache list funktioniert bereits als schneller, fertiger Stack für Programmierwettbewerbe.

stack = []

Mit append pushen

Um ein Element oben auf den Stack zu legen, rufen Sie append auf. Dadurch wird der Wert in O(1)-Zeit am Ende der Liste eingefügt.

stack.append('(')
stack.append('[')

Vom obersten Element poppen

Der Aufruf von pop ohne Index entfernt das letzte Element und gibt es zurück – also das Element, das zuletzt auf den Stack gelegt wurde.

top = stack.pop()  # removes '['

Ansehen, ohne zu entfernen

Um das oberste Element anzusehen, ohne es zu entfernen, lesen Sie einfach stack[-1] aus. Dieser Peek ist hilfreich, bevor Sie sich für pop entscheiden.

if stack:
    top = stack[-1]

Immer auf Leerheit prüfen

Das Entfernen aus einem leeren Stack löst einen Fehler aus. Prüfen Sie daher vor jedem pop zunächst if stack, damit Ihre Lösung niemals abstürzt.

Die Idee hinter der Klammerprüfung

Klammern lassen sich perfekt verschachteln – genau dafür eignet sich ein Stack. Legen Sie jede öffnende Klammer auf den Stack; eine schließende Klammer muss dann zur obersten Klammer passen.

Schließende der öffnenden Klammer zuordnen

Verwenden Sie ein kleines Dictionary, das jede schließende Klammer mit der erwarteten öffnenden Klammer verknüpft. So bleiben die Prüfungen übersichtlich.

pairs = {')': '(', ']': '[', '}': '{'}

Durchlaufen und entscheiden

Gehen Sie den String einmal durch. Legen Sie öffnende Klammern auf den Stack und vergleichen Sie bei einer schließenden Klammer die oberste entfernte Klammer mithilfe Ihrer pairs-Map.

for c in s:
    if c in pairs.values():
        stack.append(c)

Abweichung bedeutet ungültig

Wenn die entfernte öffnende Klammer nicht passt oder der Stack bei Bedarf leer ist, ist der String sofort ungültig.

    elif not stack or stack.pop() != pairs[c]:
        return False

Am Ende muss der Stack leer sein

Eine nach dem Durchlaufen übrig gebliebene öffnende Klammer bedeutet, dass etwas nicht geschlossen wurde. Der String ist nur dann gültig, wenn der Stack am Ende leer ist.

return not stack

Kurzprüfung

Sie prüfen Klammern mit einem Stack. Was bedeutet ein nicht leerer Stack ganz am Ende?

Zusammenfassung: Stacks bändigen Klammern

Sie haben gelernt, dass eine Liste als Stack funktioniert: Öffnende Klammern pushen, bei schließenden Klammern poppen, und ein leerer Stack am Ende bedeutet, dass alles ausgeglichen ist. Gut gemacht! 🎉

Häufig gestellte Fragen

Ist die Lektion „Stapel zum Abgleichen von Klammern“ kostenlos?

Ja — der vollständige Text von „Stapel zum Abgleichen von Klammern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Competitive Programming Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Competitive Programming Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Stapel zum Abgleichen von Klammern“?

Validieren Sie Klammern mit einem Stapel Du übst Competitive Programming Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Competitive Programming Academy zu starten?

Keine Vorkenntnisse erforderlich. Competitive Programming Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Stapel zum Abgleichen von Klammern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Competitive Programming Academy-Lektion Code schreiben und ausführen?

Ja. Jede Competitive Programming Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Stapel zum Abgleichen von Klammern
  2. Monotoner Stapel: nächstgrößeres Element
  3. Warteschlangen und collections.deque
  4. Maximum im Sliding Window mit Deque
← Zurück zu Competitive Programming Academy