利用栈实现括号匹配的检验
时间: 2023-10-26 20:14:05 浏览: 149
好的,下面是利用栈实现括号匹配的检验的方法:
1. 遍历括号序列,如果遇到左括号('(', '{', '['),则将其入栈;
2. 如果遇到右括号(')', '}', ']'),则取出栈顶元素,判断是否为对应的左括号,如果不是,则括号不匹配,返回False;
3. 如果遍历完括号序列后,栈非空,则括号不匹配,返回False;
4. 如果遍历完括号序列后,栈为空,则括号匹配,返回True。
以下是Python代码实现:
```python
def check_brackets(brackets):
stack = []
for bracket in brackets:
if bracket in ('(', '{', '['):
stack.append(bracket)
elif bracket in (')', '}', ']'):
if not stack:
return False
left_bracket = stack.pop()
if (bracket == ')' and left_bracket != '(') or \
(bracket == '}' and left_bracket != '{') or \
(bracket == ']' and left_bracket != '['):
return False
return not stack
```
这个函数接受一个括号序列作为输入,返回True或False表示括号是否匹配。
阅读全文