20. 有效的括号
既然满足一下条件:
- 左括号必须用相同类型的右括号闭合
- 左括号必须以正确的顺序闭合。
将字符通过一个数组保存,如果字符是左括号如(、{等; 将字符串放在数组中;
如果遇到右括号;设当前右括号为x;将当前数组最后一位y取出,如果x和y不可以组成一对有效括号,则该字符串不是有效括号;
代码如下
var isValid = function (s) {
const len = s.length;
let sign = true;
const list = [];
for (let i = 0; i < len; i++) {
const c = s[i];
if (c === '(' || c === '{' || c === '[') {
list.push(c);
} else {
const l = list.length - 1;
const t = list[l];
if (
(c === ')' && t === '(') ||
(c === ']' && t === '[') ||
(c === '}' && t === '{')
) {
list.pop();
} else {
sign = false;
}
}
}
return sign && list.length === 0;
};