20. 有效的括号

120 阅读1分钟

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。

    if(s.length % 2 === 1){
        return false;
    }
    let map = new Map([[')','('],['}','{'],[']','[']]);
    let stack = [];

    for(let i = 0 ; i < s.length; i++){
        let char = s[i];
        let value  = map.get(char)
        if(value){
            let right = stack.pop();
            if(right !== value){
                return false
            }
        } else {
            stack.push(char)
        }
    }
    return stack.length === 0
};