Статья Автор: Деникина Н.В., Деникин А.В.

Применяем стек

Задача
Дана строка со скобками ()[]{}. Проверить, правильно ли расставлены скобки.

Примеры:

Вход: "({[]})"    → Выход: true
Вход: "([)]"      → Выход: false  
Вход: "{(})"      → Выход: false
Вход: "((()))"    → Выход: true
Решение


Пошаговое объяснение для "({[]})":

  1. ( → стек: [ '(' ]

  2. { → стек: [ '(', '{' ]

  3. [ → стек: [ '(', '{', '[' ]

  4. ] → '[' совпадает → стек: [ '(', '{' ]

  5. } → '{' совпадает → стек: [ '(' ]

  6. ) → '(' совпадает → стек: [ ]

Результат: true (стек пуст)


Объяснение для "([)]":

  1. ( → стек: [ '(' ]

  2. [ → стек: [ '(', '[' ]

  3. ) → '[' ≠ '(' → false

Печать