描述
给出一个仅包含字符’(’,’)’,’{’,’}’,’[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列
括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。
示例1
输入:
"["
返回值:
false
示例2
输入:
"[]"
返回值:
true
js代码
利用堆栈的思想去做括号匹配
/**
*
* @param s string字符串
* @return bool布尔型
*/
var stack=[]
function isValid( s ) {
// write code here
for(var i=0;i<s.length;i++){
if(!stack.length){
stack.push(s[i])
continue
}
var tmp=stack.pop()
if(tmp=='}'||tmp==']'||tmp==')') return false
else if((tmp=='['&&s[i]==']')||(tmp=='{'&&s[i]=='}')||(tmp=='('&&s[i]==')')){
continue
}else{
stack.push(tmp)
stack.push(s[i])
}
}
return stack.length?false:true
}
module.exports = {
isValid : isValid
};