利用顺序栈的基本操作实现括号匹配
时间: 2024-10-27 12:04:04 浏览: 15
使用顺序栈实现括号匹配
5星 · 资源好评率100%
利用顺序栈(也称为线性堆栈)来检查括号是否匹配,主要是通过遍历输入的字符串,同时维护一个栈。以下是基本步骤:
1. 初始化一个空栈,并遍历输入的字符序列。
2. 当遇到左括号(如'('、'{' 或 '[')时,将其压入栈中。
3. 如果遇到右括号(如')'、'}' 或 ']`),检查栈顶元素是否是对应的左括号:
- 如果是,则弹出栈顶的左括号,继续检查下一个右括号;
- 否则,说明括号不匹配,直接返回错误。
4. 遍历结束后,如果栈为空,表示所有左括号都有对应的右括号,括号匹配成功;否则,存在未配对的左括号,返回错误。
下面是伪代码示例:
```
def is_bracket_matched(input_string):
stack = []
opening_brackets = ['(', '{', '[']
closing_brackets = [')', '}', ']']
for char in input_string:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if not stack or stack.pop() != opening_brackets[closing_brackets.index(char)]:
return False
return len(stack) == 0
```
阅读全文