js实现括号匹配问题

isValid(){
                let str = '{{}()()}'

                let stack = []
                let map = new Map([
                    ['(',')'],
                    ['[',']'],
                    ['{','}'],
                ])

                let len = str.length

                for(let i =0; i < len; i++){
                    if(map.has(str[i])){
                        stack.push(str[i])
                    }
                    else{
                        if(stack.length === 0){
                            return false
                        }else{
                            if(map.get(stack.pop()) !== str[i]){
                                return false
                            }
                        }
                    }
                }

                 return !stack.length


            }

你可能感兴趣的:(js实现括号匹配问题)