Показать сообщение отдельно
  #2 (permalink)  
Старый 26.10.2023, 20:04
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

function isValid(str) {
  const pairs = {
    '(': ')',
    '{': '}',
    '[': ']'
  };
  const closes = Object.values(pairs);

  const stack = [];

  for (let s of str) {
    if (pairs[s]) {
      stack.push(pairs[s]);
    } else if (closes.includes(s) && s !== stack.pop()) {
      return false;
    }
  }

  return !stack.length;
}
Ответить с цитированием