Leetcode详详解

20. Valid Parentheses

2019-01-07  本文已影响0人  Chrisbupt

使用栈数据结构:

  1. 遇到左括号,需要压栈。
  2. 遇到右括号,判断栈顶是否和当前右括号匹配;若不匹配则返回false,否则匹配弹出栈顶。
  3. 最后判断栈是否为空;若为空则合法,否则不合法。
class Solution:
    # @return a boolean
    def isValid(self, s):
        stack = []
        dict = {"]":"[", "}":"{", ")":"("}
        for char in s:
            if char in dict.values():
                stack.append(char)
            elif char in dict.keys():
                if stack == [] or dict[char] != stack.pop():
                    return False
            else:
                return False
        return stack == []
上一篇下一篇

猜你喜欢

热点阅读