程序以检查Python中不同的括号是否平衡且格式正确
假设我们有一串方括号(圆形,卷曲和正方形),我们必须检查方括号是否平衡(格式正确)。
因此,如果输入类似于s=“([[()()]{[]})()”,则输出将为True
为了解决这个问题,我们将遵循以下步骤-
堆栈:=一个新列表
d:=具有键值对('}','{'),(')','('),(']','[')的哈希映射
对于s中的每个字符c,
将c推入堆栈
如果堆栈为空或堆栈顶部与d[c]不同,则
从堆栈弹出
返回False
如果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