给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
1.左括号必须用相同类型的右括号闭合。
2.左括号必须以正确的顺序闭合。

这个题主要是用到了栈的知识
先上代码
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
var stack = [];
for(let i=0; i<s.length; i++){
const start = s[i];
if(s[i] == "(" || s[i] == "{" || s[i] == "["){
stack.push (s[i]);
}else{
const end = stack [stack.length-1];
if(start == ")" && end == "(" ||
start == "}" && end == "{" ||
start == "]" && end == "["
){
stack.pop();
}else{
return false;
}
}
}
return stack.length == 0;
};```

先定义一个空数组
然后for循环遍历
先判断当前是不是( [ {中的之一,如果是就push
然后判断如果当前是右括号,对应的上就pop删掉,对应不上就返回false
当他的stack为0的时候就说明是对的。
该博客主要讨论LeetCode的第20题,涉及使用JavaScript解决有效括号的问题。有效字符串需确保左括号对应正确类型的右括号,并且顺序正确。博主提到了这个问题的核心在于栈的应用。
1495

被折叠的 条评论
为什么被折叠?



