# 有效的括号 (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 都将助力我产出更好内容~