# 有效的括号

  1. 有效的括号

来源:力扣(LeetCode) 链接 (opens new window):https://leetcode.cn/problems/valid-parentheses/

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

github (opens new window)

# 问题

给定一个只包括 '(',')','{','}','[',']' 的字符串 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;
};
陕ICP备20004732号-3