题目:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
-
左括号必须用相同类型的右括号闭合。
-
左括号必须以正确的顺序闭合。
function fun(str) {
if(str == '') {
return true;
}
let stack = [];
for(let i = 0; i < str.length; i++) {
let s = str[i];
switch(s) {
case '(':
stack.push(')');
break;
case '{':
stack.push('}');
break;
case '[':
stack.push(']');
break;
default:
const stackTop = stack.pop();
if(stackTop != s) {
return false;
}
break;
}
}
if(stack.length === 0) {
return true;
}
}
console.log(fun('[{()}][]{}'))
console.log(fun('[{()}][]{}]'))