有效的括号
2022/08/01
示例
示例一
输入:s = "()"
输出:true
示例二
输入:s = "()[]{}"
输出:true
示例三
输入:s = "(]"
输出:false
示例四
输入:s = "([)]"
输出:false
示例五
输入:s = "{[]}"
输出:true
题解参考
栈
var isValid = function (s) {
const len = s.length;
if (len % 2 === 1) {
return false;
}
const pairs = new Map([
[")", "("],
["]", "["],
["}", "{"],
]);
const stack = [];
for (let char of s) {
if (pairs.has(char)) {
if (!stack.length || stack[stack.length - 1] !== pairs.get(char)) {
return false;
}
stack.pop();
} else {
stack.push(char);
}
}
return !stack.length
};