Назовем скобочной последовательностью строку, состоящую из символов ()[]<>{}
. Гарантируется, что в этой задаче в функцию передаются только такие строки.
Правильная скобочная последовательность (ПСП) формально определяется так:
s
является ПСП, то строки (s)
, <s>
, {s}
, [s]
тоже являются ПСП. Например, <()[]>{}
— ПСП, значит [<()[]>{}]
— тоже ПСПs
является ПСП и строка t
тоже является ПСП, то строка st
— ПСП. Например, ()[]
и {{}[]}
— ПСП. Тогда ()[]{{}[]}
— тоже ПСП.На более простом языке, ПСП — это строка, в которой на каждую открывающуюся скобочку есть соответствующая закрывающая скобочка.
Реализуйте функцию isValidBrackets
, которая принимает строку и определяет, является она ПСП.
console.log(isValidBrackets("()(()())")); // true console.log(isValidBrackets("(([]{}[<>[{}]]))")); // true // Не все скобки закрылись console.log(isValidBrackets("((())")); // false // Есть лишние закрывающие скобки console.log(isValidBrackets("()))")); // false // Скобки не совпадают по типам console.log(isValidBrackets("[(])")); // false