📅  最后修改于: 2023-12-03 15:25:31.830000             🧑  作者: Mango
在编程中,我们经常需要检查括号是否匹配。平衡括号是一个算法问题,它可以用来检查括号是否匹配并返回正确或错误。
以下是一个简单的平衡括号实现:
def is_balanced(string):
stack = []
for char in string:
if char in ['(', '{', '[']:
stack.append(char)
elif char in [')', '}', ']']:
if not stack:
return False
if char == ')' and stack[-1] == '(':
stack.pop()
elif char == '}' and stack[-1] == '{':
stack.pop()
elif char == ']' and stack[-1] == '[':
stack.pop()
else:
return False
return not stack
该函数将字符串作为参数,并使用堆栈来跟踪左括号。如果遇到右括号,则函数将从堆栈中弹出最新的左括号,以便确保它们匹配。如果堆栈为空,则该函数将返回False。
最后,如果堆栈为空,则该函数将返回True,表示括号已平衡。
使用平衡括号十分简单。只需要将字符串传递给 is_balanced 函数即可。例如:
print(is_balanced("(a+b)*[c-{d+e}]")) # True
print(is_balanced("(a+b](c-{d+e})")) # False
平衡括号是一种非常常用的算法。它可以帮助我们检查括号是否匹配。在这篇文章中,我们介绍了一个简单的 Python 实现以及如何使用它来检查字符串中的括号是否匹配。