有效的括号
题目:有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串s,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 每个右括号都有一个对应的相同类型的左括号。
经典的栈处理逻辑,遍历字符串如果遇到左括号
( [ }则入栈,遇到右括号) ] }则将栈顶元素出栈跟右括号对比,相同就继续遍历不同则结束遍历返回false直到遍历结束,如果栈中没有元素则为有效。
var isValid = function(s) {
let stack = []
// ( ) { } []
let map = { '(': ')', '[': ']', '{': '}'}
for(let i = 0; i < s.length; i++) {
if (s[i] == '(' || s[i] == '{' || s[i] == '[') {
stack.push(s[i])
} else {
let pop = stack.pop()
if (map[pop] == s[i]) {
continue
} else {
return false
}
}
}
return stack.length == 0
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

上次更新: 2025/09/05, 8:09:00