class Solution : def isValid ( self , s : str ) - bool : ''' 思路:用栈实现,遇着左括号进栈,遇着与栈顶相匹配的右括号栈顶出栈 ''' dic = { '[' : ']' , '(' : ')' , '{' : '}' , } stack = [] for i in s : if i in
def isValid(self, s: str) -> bool:
'''
思路:用栈实现,遇着左括号进栈,遇着与栈顶相匹配的右括号栈顶出栈
'''
dic = {
'[':']',
'(':')',
'{':'}',
}
stack = []
for i in s:
if i in ['{','(','[']:
stack.append(i) # 进栈
else:
if stack and i == dic[stack[-1]]: #当前括号与栈顶相等
stack.pop()
else:
return False
if stack: # 匹配完成后,栈中有括号就说明括号不配对
return False
else:
return True