/** * 判断是否括号匹配 * @param str str */
时间: 2024-06-26 10:01:30 浏览: 111
为了判断一个字符串中的括号是否匹配,你可以使用栈(Stack)数据结构。下面是一个简单的Python函数实现[^4]:
```python
def is_balanced(str):
stack = []
opening_brackets = "({["
closing_brackets = ")}]"
for char in str:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if not stack or closing_brackets.index(char) != opening_brackets.index(stack.pop()):
return False
return not stack # 如果栈为空,说明所有括号都配对了
# 示例
str = "((()))"
print(is_balanced(str)) # 输出:True
str = "(())"
print(is_balanced(str)) # 输出:False
```
这个函数遍历输入字符串中的每个字符,如果遇到开放括号就入栈,遇到关闭括号则尝试与栈顶元素匹配。如果不匹配或者栈为空,返回`False`。最后,如果栈为空,则说明所有括号都匹配,返回`True`。
阅读全文