JavaScript 有效的括号

题目描述:
JavaScript 有效的括号_第1张图片

代码

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
    if(s.length % 2){
        return false
    }

    // 创建哈希表
    const mp  = {')':'(',']':'[','}':'{'};
    const st = []

    // 遍历
    for(const c of s){
        // 当前的c不是任何一种右括号
        if(!mp.hasOwnProperty(c)){
            st.push(c);
        }
        // 又可能一上来就给了一个右括号直接不匹配
        // 或者栈顶的元素和哈希表中该类型匹配的左括号属性不一样
        // 直接返回false
        else if(st.length==0||st.pop()!==mp[c]){
            return false
        }
    }
    // 如果都能匹配但最后栈非空还是输出false
    return st.length === 0


    
};

你可能感兴趣的:(javascript,开发语言,ecmascript)