题目:

检查字符串中"( )","[ ]","{ }" 的合法性,即是否成对出现

eg,如出现"[()]","{[ ]}" 为合法,出现"{( })","[{( ]}"为不合法

代码如下:

class A(object):

    def isValid(self,s):
        stack = []
        paren_map = {')':'(',']':'[','}':'{'}
        for c in s:
            if c not  in paren_map: # 如果不是右括号,即是左括号
                stack.append(c)
            elif not stack or paren_map[c] != stack.pop():
                #右括号和栈顶的元素匹配,先看栈中是否有元素,如果有就看栈顶和刚开始存进去的
                #括号,如果不能匹配,直接false
                return False
        return not stack # 判断stack 是否为空

m = A()
res = m.inValid(s='([{[]}])')
print(res)

  

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2022-12-23
  • 2021-08-08
  • 2022-02-16
  • 2022-01-20
猜你喜欢
  • 2021-04-27
  • 2022-01-08
  • 2021-10-11
  • 2022-01-26
  • 2022-12-23
  • 2022-01-07
  • 2021-06-24
相关资源
相似解决方案