Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: stack, brackets, validation, algorithm

Что происходит при встрече открывающей скобки в алгоритме валидации, а что — при встрече закрывающей?

Проверяет понимание алгоритма проверки сбалансированности скобок с использованием стека.

Короткий ответ

При встрече открывающей скобки она помещается в стек. При встрече закрывающей скобки проверяется, соответствует ли она последней открывающей скобке на вершине стека. Если соответствует, то открывающая скобка извлекается из стека. Если нет или стек пуст, то последовательность считается некорректной.

Длинный ответ

Алгоритм валидации скобок

Алгоритм проверки сбалансированности скобок основан на структуре данных стек. Стек работает по принципу LIFO (последним пришёл — первым вышел), что идеально подходит для отслеживания вложенности скобок.

Действия при встрече символов

  • Открывающая скобка (например, '(', '{', '[') — помещается на вершину стека.
  • Закрывающая скобка (например, ')', '}', ']') — проверяется, соответствует ли она последней открывающей скобке на вершине стека. Если да, то эта открывающая скобка извлекается из стека. Если нет или стек пуст, то последовательность некорректна.

Пример кода на JavaScript

function isValid(s) {
  const stack = [];
  const map = { ')': '(', '}': '{', ']': '[' };
  for (let char of s) {
    if (char === '(' || char === '{' || char === '[') {
      stack.push(char);
    } else {
      if (stack.pop() !== map[char]) return false;
    }
  }
  return stack.length === 0;
}

Вывод

Этот алгоритм применяется в компиляторах, парсерах и редакторах кода для проверки синтаксической корректности. Используйте его, когда нужно убедиться, что все скобки правильно открыты и закрыты.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • SQL

Ключевые слова

#stack

#brackets

#validation

#algorithm

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию