快速地写了一下,没什么难度。这个算法的时间复杂度是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
PREVIOUSmq027.无重复字符的最长子串
NEXTlc1249.移除无效的括号