ID:20.有效的括号

45 阅读1分钟

题目链接

思路

左括号入栈,右括号和出栈左括号比较是否匹配,不匹配则返回false。遍历完成后检查栈是否为空

var isValid = function (s) {
  const m = {
    "(": ")",
    "{": "}",
    "[": "]",
  };
  const stack = [];
  for (const c of s) {
    if (Object.keys(m).includes(c)) {
      stack.push(c);
    } else {
      if (m[stack.pop()] !== c) return false;
    }
  }
  return stack.length === 0;
};