Python用栈实现括号匹配问题
时间: 2023-08-27 08:17:24 浏览: 106
Python实现求解括号匹配问题的方法
好的,这个问题我可以回答。栈是一种后进先出的数据结构,非常适合用来解决括号匹配问题。
具体实现方法如下:
1. 遍历给定字符串中的每个字符。
2. 如果字符是左括号,则将其推入栈中。
3. 如果字符是右括号,则从栈顶弹出一个字符,并比较该字符与当前字符是否匹配。
4. 如果不匹配,返回False。
5. 如果遍历完字符串后栈不为空,返回False。
6. 否则,返回True。
下面是 Python 代码实现:
```python
def is_valid(s):
stack = []
brackets = {'(': ')', '[': ']', '{': '}'}
for c in s:
if c in brackets:
stack.append(c)
elif stack and brackets[stack[-1]] == c:
stack.pop()
else:
return False
return not stack
```
以上代码使用了一个字典 `brackets` 来存储左右括号的对应关系,方便代码的书写和阅读。
阅读全文