程序以检查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
    猜你喜欢