在Python中,可以使用栈来解决不同类型的括号问题。以下是一个示例代码:
def check_brackets(input_string):
stack = []
brackets = {'(': ')', '{': '}', '[': ']'}
for char in input_string:
if char in brackets.keys():
stack.append(char)
elif char in brackets.values():
if len(stack) == 0 or brackets[stack.pop()] != char:
return False
return len(stack) == 0
# 测试示例
print(check_brackets("()")) # True
print(check_brackets("({})")) # True
print(check_brackets("({})[")) # False
print(check_brackets("({}))")) # False
在这个示例中,我们使用一个栈来存储左括号。当遇到右括号时,我们将栈顶的左括号弹出,并检查是否与当前右括号匹配。如果栈为空或者匹配失败,说明括号不匹配。最后,如果栈为空,说明所有的括号都匹配成功。
注意,这个示例只处理了圆括号、大括号和方括号的匹配问题。如果你需要处理其他类型的括号,需要将brackets
字典中的键值对进行相应的修改。