判断字符串中的括号是否都合法,是否都闭合
示例字符串:{([ddd])}
function isValidate(str) {
const inArr = [];
const arr = str.split('');
for (let s of arr) {
if (s === '{' || s === '[' || s === '(') {
// 入栈
inArr.push(s);
}
if (s === '}' || s === ']' || s === ')') {
let temp;
switch (s) {
case '}':
temp = '{';
break;
case ']':
temp = '[';
break;
case ')':
temp = '(';
break;
}
// 出栈
const out = inArr.pop();
if(temp !== out) {
return false;
}
}
}
return true
}
console.log(isValidate('{([ddd])}'))