题解
思路
代码
class Solution:
### 0205 辅助栈(36 ms,14.9 MB)
def isValid(self, s: str) -> bool:
dct = {'[': ']', '{': '}', '(': ')', '.': '.'}
stack = ['.'] # 预先存放一个非括号值,防止一开始的空栈情况
for c in s:
# 对于左括号,直接入栈
if c in dct:
stack.append(c)
# 若最近一个右括号与当前的右括号不相同,则不合法
elif dct[stack.pop()] != c:
return False
return len(stack) == 1 # 最后判断栈是否弹出完(预先存放了一个值)