LeetCode 有效的括号-20
# 题目
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
示例 1: 输入:s = "()" 输出:true
示例 2: 输入:s = "()[]{}" 输出:true
示例 3: 输入:s = "(]" 输出:false
示例 4: 输入:s = "([)]" 输出:false
示例 5: 输入:s = "{[]}" 输出:true
# 提示:
- 1 <= s.length <= 104
- s 仅由括号 '()[]{}' 组成
/**
* @param {string} s
* @return {boolean}
*/
const isValid = s => {
const helper = new Map([
['{', '}'],
['[', ']'],
['(', ')']
])
const stack = []
for (const item of s) {
if (helper.has(item)) {
stack.push(helper.get(item))
} else {
if (item !== stack.pop()) {
return false
}
}
}
return stack.length === 0
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
编辑 (opens new window)
上次更新: 2022/03/19, 16:48:28