设计一个算法判断算数表达式的圆括号是否配对,帮我写出这个代码
时间: 2023-06-02 18:05:04 浏览: 79
设计算法判断一个算术表达式的圆括号是否配对
5星 · 资源好评率100%
好的,下面是代码实现:
```
def is_valid(expression):
stack = []
for char in expression:
if char == '(':
stack.append(char)
elif char == ')':
if len(stack) == 0:
return False
stack.pop()
if len(stack) == 0:
return True
else:
return False
```
这个算法首先定义了一个空栈,然后遍历字符串中的每个字符。如果字符是左括号,将其压入栈中;如果字符是右括号,判断栈是否为空,若为空则说明前面没有左括号与其匹配,返回 False;否则弹出栈顶元素,表示它与当前右括号匹配。最后,如果栈中还有元素剩余,说明左括号数量多于右括号,返回 False;否则返回 True,表示所有括号都匹配成功。
阅读全文