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


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

Примеры:

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


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

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

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

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

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

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

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

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


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

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

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

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

time 1000 ms
memory 256 Mb

Комментарий учителя