使用栈实现表达式中括号的匹配检查的代码
时间: 2024-02-06 10:08:59 浏览: 132
以下是使用栈实现表达式中括号的匹配检查的代码,具体思路是遍历表达式,遇到左括号入栈,遇到右括号判断栈顶元素是否为对应的左括号,如果是则出栈,否则说明不匹配。
```python
def check_matching(expression):
stack = []
left_brackets = ['(', '[', '{']
right_brackets = [')', ']', '}']
for char in expression:
if char in left_brackets:
stack.append(char)
elif char in right_brackets:
if not stack:
return False
left_char = stack.pop()
if left_brackets.index(left_char) != right_brackets.index(char):
return False
if stack:
return False
return True
```
示例:
```python
>>> check_matching('()[]{}')
True
>>> check_matching('([)]')
False
>>> check_matching('{[()]}')
True
```
阅读全文