# 有效的括号
- 有效的括号
来源:力扣(LeetCode) 链接 (opens new window):https://leetcode.cn/problems/valid-parentheses/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 问题
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效
有效字符串需满足:
左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。
输入:s = "()"
输出:true
# 思路
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
const map = new Map();
map.set("(", ")");
map.set("{", "}");
map.set("[", "]");
const arr = [];
for (let index = 0; index < s.length; index++) {
const element = s.charAt(index);
if (map.has(element)) {
arr.push(element);
} else {
const top = arr[arr.length - 1];
if (map.get(top) === element) {
arr.pop();
} else {
arr.push(element);
}
}
}
return arr.length === 0;
};