python 简单括号匹配
时间: 2024-12-03 16:03:38 浏览: 22
在Python中,简单括号匹配通常指的是检查字符串中的圆括号、方括号和花括号是否按照正确的顺序和配对规则封闭。这种操作在编写解析器或者处理用户输入验证时非常有用。你可以使用栈数据结构来实现这个功能。遍历字符串,对于每个遇到的左括号(如'('),将其压入栈;当遇到右括号(如')'、']' 或 '})时,如果栈顶元素与其配对,就将栈顶元素弹出,否则说明有错误。遍历结束后,如果栈为空,则括号配对有效,否则存在未匹配的括号。
这里是一个简单的Python函数示例:
```python
def is_bracket_matched(s):
bracket_map = {')': '(', ']': '[', '}': '{'}
stack = []
for char in s:
if char in bracket_map.values():
stack.append(char)
elif char in bracket_map.keys() and (not stack or stack.pop() != bracket_map[char]):
return False
return not stack
# 示例
s1 = "()" # 匹配
s2 = "({[]})" # 匹配
s3 = "(]" # 不匹配
print(is_bracket_matched(s1)) # 输出 True
print(is_bracket_matched(s2)) # 输出 True
print(is_bracket_matched(s3)) # 输出 False
```
阅读全文