匹配括号用栈实现的实例
时间: 2023-12-27 17:04:21 浏览: 62
下面是一个用栈实现匹配括号的 Python 代码示例:
```python
def is_valid_parentheses(s: str) -> bool:
stack = []
mapping = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in mapping:
top_element = stack.pop() if stack else '#'
if mapping[char] != top_element:
return False
else:
stack.append(char)
return not stack
```
首先定义一个空栈 `stack` 和一个映射表 `mapping`,用于将右括号映射到对应的左括号。然后遍历字符串 `s` 中的每个字符,如果是左括号就入栈,如果是右括号就弹出栈顶元素并判断是否与当前字符对应的左括号匹配,如果不匹配就返回 False。如果遍历完字符串后栈为空,说明所有括号都匹配,返回 True。
阅读全文