20. 有效的括号

101 阅读1分钟

20. 有效的括号

入栈和出栈的思想,所有的操作完成后,都不能情况所有的元素,则说明出栈有bug,应该返回false

还有一个就是当出栈一个元素时候,如果被允许出栈的元素和需要出栈的元素不能匹配到,则直接返回false 因为我们要遵循栈的先入后出的要求

var isValid = function(s) {
    var arr = []
    var obj = {
        ')':'(',
        ']':'[',
        '}':'{'
    }
    for(var i =0;i<s.length;i++){
        var item = s[i]
        if(['(','{','['].includes(item)){
            arr.push(item)
        }else{
            if(obj[item] && arr.pop() !== obj[item]){
                return false
            }
        }
    }
    return !arr.length
};