代码改变世界

有效的括号

2019-08-05 17:29  小益达嘿嘿嘿  阅读(128)  评论(0)    收藏  举报

有效的括号

题目描述:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串

class Solution(object):
  def isValid(self,s):
    stack=[]
    match={'{':'}', '[':']', '(':')'}
    for i in s:
      if i=='{' or i == '(' or i == '[':
        stack.append(i)#开括号压栈
      else:
        if len(stack)==0:
          return False
        top = stack.pop()#出栈
        if match[top]!=i:
          return False
    if len(stack) != 0: # 避免'({([])}'这种情况
      return False
    return True