# 有效的括号 (opens new window)

  • 难度:Easy
  • 标签:栈、

# 刷题思路

  • [x] 栈+哈希
  • [ ] xx

# 方法 1 栈+哈希

  • 复杂度:
    • 时间 O(n), 一次遍历.
    • 空间 O(n), 栈 O(n/2) + map O(1).
var isValid = function(s) {
    if (s.length % 2) return false
    const map = new Map()
    map.set(')', '(')
    map.set('}', '{')
    map.set(']', '[')
    const stack = []
    for (let c of s) {
        if (map.has(c)) {
            if (stack.length === 0 || stack.pop() !== map.get(c)) {
                return false
            }
        } else {
            stack.push(c)
        }
    }
    return stack.length === 0
};

# 方法 2

  • 复杂度:
    • 时间 O()
    • 空间 O()

JS刷题记录 Leetcode-js (opens new window) 每周都会更新刷题心得或者题解, 你的点赞或 star 都将助力我产出更好内容~