题目描述:
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
1.左括号必须用相同类型的右括号闭合。
2.左括号必须以正确的顺序闭合。
求解:
class Solution:
def isValid(self, s):
stack = []
# 一一对应关系用dict
dic = {"(":")", "[":"]", "{":"}"}
for char in s:
# 左括号进栈
if char in dic.keys():
stack.append(char)
# 右括号判断
elif char in dic.values():
# 没有左括号匹配或者匹配的左括号错误
if stack == [] or char != dic[stack.pop()]:
return False
if stack == []:
return True
else:
return False
stack == [] 和 stack is None是不同的



