- 字符串s的长度一定是偶数,不可能是奇数(因为要一对对匹配)。
- 右括号前面一定跟着左括号,才符合匹配条件,具备对称性。
右括号前面如果不是左括号,一定不是有效的括号。
const isValid = (str) => {if (str === '') return true;const map = {'{': '}','(': ')','[': ']'};const arr = [];for (let i = 0; i < str.length; i++) {const currStr = str[i];// 左括号if (map[currStr]) {arr.push(currStr);} else {if (arr.length === 0 || map[arr.pop()] !== currStr) return false;}}return !arr.length;}
