有效的括号
解题思路
- 数组模拟栈
- 遍历字符串,匹配栈顶,匹配上则出栈
- 最后返回栈是否为空来判断是否为有效匹配
代码
js
var isValid = function(s) {
let stack = [];
for (let char of s) {
if (stack.length > 0 && match(stack[stack.length - 1], char)) {
stack.pop();
} else {
stack.push(char);
}
}
return stack.length === 0;
};
function match(left, right) {
return (left === '(' && right === ')')
|| (left === '{' && right === '}')
|| (left === '[' && right === ']');
}