题解 | #有效括号序列#
有效括号序列
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
};