function isValidParentheses(str) {
const stack = [];
const parenthesesMap = {
'(': ')',
'{': '}',
'[': ']'
};
for (let char of str) {
if (parenthesesMap[char]) {
stack.push(char);
} else {
const last = stack.pop();
if (parenthesesMap[last] !== char) {
return false;
}
}
}
return stack.length === 0;
}
console.log(isValidParentheses("(){}[]"));
console.log(isValidParentheses("([{}])"));
console.log(isValidParentheses("(){}[]()(){}"));
console.log(isValidParentheses("(]"));
console.log(isValidParentheses("({[)]}"));
/*
run:
true
true
true
false
false
*/