lc020.有效的括号

 

题目链接

快速地写了一下,没什么难度。这个算法的时间复杂度是O(N),空间复杂度是O(N)。

class Solution:
    def isValid(self, s: str) -> bool:
        d = {"(": ")", "[": "]", "{": "}"}
        stack = []
        for c in s:
            if c in "([{":
                stack.append(c)
            else:
                if not stack:
                    return False
                tmp = stack.pop()
                if d[tmp] == c:
                    continue
                else:
                    return False 
        if not stack:
            return True
        else:
            return False