20. 有效的括号](leetcode-cn.com/problems/va…)
解法一:
* @param {string} s
* @return {boolean}
*/
//判断字符串的长度是否是偶数,不是则返回false
if((s.length) % 2 !==0) {
return false;
}
this.stack = []
for(let i of s){
//利用栈的结构,循环字符串,将'(', '{', '['放到数组中,如果这个数组包含这个符号则推入栈中
if(i=== '('|| i=== '['|| i=== '{'){
this.stack.push(i)
} else {
// 否则取栈顶'(', '{', '[' 其中一项和循环字符串的')','}',']'与之对应取弹出
let peek = this.stack[this.stack.length-1]
if((i=== ')' && peek === '(') || (i === ']' && peek === '[') || ( i=== '}' && peek === '{')){
this.stack.pop()
}else {
return false
}
}
}
//最后判断栈的长度是否为空,空返回ture,反之返回false
return this.stack.length == 0