用 Python 编写程序检查不同括号是否平衡且格式正确
pythonserver side programmingprogramming更新于 2026/1/10 16:44:17
假设我们有一串括号(圆括号、花括号和方括号),我们必须检查这些括号是否平衡(格式正确)。
因此,如果输入为 s = "([()()]{[]})()",则输出为 True
要解决这个问题,我们将遵循以下步骤 −
- stack := 一个新列表
- d := 一个带有键值对 ('}', '{'),(')','('), (']', '[') 的哈希映射
- 对于每个字符 c在 s 中,执行
- 如果 c 是 '}])' 中的任何一个,则
- 如果堆栈为空或堆栈顶部与 d[c] 不同,则
- 返回 False
- 从堆栈中弹出
- 如果堆栈为空或堆栈顶部与 d[c] 不同,则
- 否则,
- 将 c 推入堆栈
- 如果 c 是 '}])' 中的任何一个,则
- 堆栈为空时返回 true,否则返回 false
让我们看看下面的实现以便更好地理解 −
示例
class Solution:
def solve(self, s):
stack = []
d = {'}': '{',')': '(',']': '['}
for c in s:
if c in '}])':
if not stack or stack[-1] != d[c]:
return False
stack.pop()
else:
stack.append(c)
return not stack
ob = Solution()
print(ob.solve("([()()]{[]})()"))
输入
"([()()]{[]})()"
输出
True
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

