题目地址:链接
思路: 通过栈来判断当前括号是否匹配。
- 如果当前为左括号,入栈
- 否则,出栈判断是否匹配以及长度,如果不匹配,返回 false
- 遍历后没有return false,说明当前括号为有效的,返回 true
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
let stk = [];
let map = {')': '(', ']': '[', '}': '{'};
for(let str of s) {
if(str === '(' || str === '[' || str === '{') {
stk.push(str);
} else {
if(stk.length) {
let q = stk.pop();
if(map[str] !== q){
return false;
}
} else {
return false;
}
}
}
return true;
};
有效的括号解法详解
8万+

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



