Вопрос проверяет умение использовать стек для проверки корректности вложенности скобок разных типов в строке.
Стек — это структура данных, работающая по принципу LIFO (последним пришёл — первым вышел). Она идеально подходит для проверки вложенности скобок, так как каждая открывающая скобка должна быть закрыта соответствующей закрывающей в правильном порядке.
function isValidBrackets(s) {
const stack = [];
const pairs = { ')': '(', '}': '{', ']': '[' };
for (let char of s) {
if (char === '(' || char === '{' || char === '[') {
stack.push(char);
} else if (char === ')' || char === '}' || char === ']') {
if (stack.length === 0 || stack.pop() !== pairs[char]) {
return false;
}
}
}
return stack.length === 0;
}
console.log(isValidBrackets('({[]})')); // true
console.log(isValidBrackets('({[})')); // falseЭтот алгоритм используется в компиляторах, интерпретаторах, редакторах кода для проверки синтаксиса, а также в парсерах математических выражений.
Вывод: Стек — простой и эффективный способ проверки вложенности скобок. Применяйте его везде, где нужно убедиться в корректности парных символов в строке.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию