给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
const map = new Map([ ['(', ')'], ['[', ']'], ['{', '}'], ]) function isTrue(str) { const len = str.length; if(len % 2 !== 0 ) return false const stk = [] for(let i = 0; i < len; i++) { if(map.get(str[i])) { stk.push(str[i]) continue; } if(map.get(stk.pop()) !== str[i]) return false return true; } } console.log(isTrue(')[()()()]}'))