📜  平衡括号python(1)

📅  最后修改于: 2023-12-03 15:25:31.830000             🧑  作者: Mango

平衡括号 Python

在编程中,我们经常需要检查括号是否匹配。平衡括号是一个算法问题,它可以用来检查括号是否匹配并返回正确或错误。

实现

以下是一个简单的平衡括号实现:

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 实现以及如何使用它来检查字符串中的括号是否匹配。