时间复杂度 O(n) 空间复杂度 O(n+∣Σ∣),其中 Σ 表示字符集,本题中字符串只包含 6 种括号
/*** @param {string} s* @return {boolean}*/
var isValid = function(s) {const map = {"(":")","{":"}","[":"]"}let arr = []// 如果输入的数组为奇数时一定不满足条件if(s.split('').length%2!==0){return false}for(let item of s){// 如果当前括号为左括号,将右括号压入栈if(map[item]){arr.push(map[item])}else{// 如果当前的括号是右括号,则弹出栈尾的括号是否等于当前的括号// 等于则继续循环,不等于则括号不匹配if (arr.pop()!== item) {return false;}}}return arr.length === 0
};