题解 | #有效括号序列#

有效括号序列

http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

  * 
  * @param s string字符串 
  * @return bool布尔型
  */

function isValid( s ) {
    // write code here
    if(s.length % 2) return false   //奇数不配对
    //左括号入栈 右括号入栈
    let Stack = []
    let top = -1
    for(let item of s){
        if(item === '(' || item === '[' || item === '{'){
            Stack[++top] = item
        }else{     //相邻出栈
            if(top === -1)    return false    //无法再出栈
            if(item === ')' && Stack[top] === '('){
                top--
            }else if(item === '}' && Stack[top] === '{'){
                top--
            }else if(item === ']' && Stack[top] === '['){
                top--
            }
            
        }
    }
     if(top === -1)    //全空
         return true
}
module.exports = {
    isValid : isValid
};
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务