Check The Parentheses Sequence
by Michael Myers
JavaScript
function checkParenthesisSequence(s) {
let stack = [];
const matchedPairs = {
')' : '(',
']' : '[',
'}' : '{',
'{}' : '[]'
}
for (let char of s) {
if (Object.values(matchedPairs).includes(char)) {
stack.push(char)
} else if (matchedPairs[char] && stack.pop() != matchedPairs[char]) {
return false;
}
}
return stack.length === 0;
}
console.log(checkParenthesisSequence('({})[](){({[{}]})}')) // true
console.log(checkParenthesisSequence('(({})[](){({[{}]})}')) // false
console.log(checkParenthesisSequence('((({{[[(({{}}))]]}})))')) //true
console.log(checkParenthesisSequence('({})[](){({[}{}]})}')) // false