思路
左括号入栈,右括号和出栈左括号比较是否匹配,不匹配则返回false。遍历完成后检查栈是否为空
var isValid = function (s) {
const m = {
"(": ")",
"{": "}",
"[": "]",
};
const stack = [];
for (const c of s) {
if (Object.keys(m).includes(c)) {
stack.push(c);
} else {
if (m[stack.pop()] !== c) return false;
}
}
return stack.length === 0;
};