20.有效的括号
Opened this issue · 0 comments
linqibin commented
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
利用栈解决,遇到左边括号入栈,遇到右边括号出栈判断。
/**
* @param {string} s
* @return {boolean}
*/
function isValid(s) {
const stack = [];
for(let c of s){
switch(c){
case '(':
case '{':
case '[':
stack.push(c);
break;
case ')':
if(stack.pop() != '(') return false;
break;
case '}':
if(stack.pop() != '{') return false;
break;
case ']':
if(stack.pop() != '[') return false;
break;
}
}
if(stack.length > 0) return false;
return true;
}