有效的括号:判断字符串中的 () [] {} 是否成对且顺序正确。

思路:左括号入栈,遇右括号弹栈检查是否匹配;最后栈须为空。

function isValid(s) {
  const map = { ')': '(', ']': '[', '}': '{' }
  const stack = []
  for (const ch of s) {
    if (!map[ch]) stack.push(ch)        // 左括号
    else {
      if (stack.pop() !== map[ch]) return false
    }
  }
  return stack.length === 0
}

同分类其他题目