leetcode 20. 有效的括号

解题思路

使用 “栈” 模拟即可

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution:
def isValid(self, s: str) -> bool:
stack = []
for char in s:
if not stack:
stack.append(char)
continue

if stack[-1] == '(' and char == ')':
stack.pop()
elif stack[-1] == '{' and char == '}':
stack.pop()
elif stack[-1] == '[' and char == ']':
stack.pop()
else:
stack.append(char)

return not stack