判断一个算数表达式中开括号和闭括号是否配对?
时间: 2024-05-11 17:14:11 浏览: 147
检查一个算术表达式中的括号是否正确匹配。
可以使用栈来判断一个算数表达式中开括号和闭括号是否配对。遍历表达式,当遇到开括号时将其压入栈中,当遇到闭括号时从栈中弹出一个开括号,若弹出的开括号和当前闭括号不匹配,则表达式中的括号不配对。最后如果栈中还有未弹出的开括号,则表达式中的括号也不配对。以下是示例代码:
```python
def is_parentheses_matched(expr):
stack = []
for c in expr:
if c == '(':
stack.append(c)
elif c == ')':
if not stack or stack.pop() != '(':
return False
return not stack
```
示例:
```python
>>> is_parentheses_matched('2 * (3 + 5) - 4 / (6 - 2)')
True
>>> is_parentheses_matched('(2 + 3) * 5 + (6 - 2')
False
```
阅读全文