给定一个仅包含 '(' , ')' , '[' , ']' , '{' , '}' 字符的字符串,判断这个字符串是否是有效的括号对
判断规则:
1.左括号只能与对应类型的右括号配对
2.左右扩号的匹配必须按顺序匹配
例:
"()" : true, "()[]{}" : true, "(]" : false , "([)]" : false
解法:
class Solution:
def isValid(self, s: str) -> bool:
l = []
for i in range(len(s)):
if s[i] in ('([{'):
l.append(s[i])
else:
if s[i] in (')]}') and not l:
return False
left = l.pop()
if ''.join((left,s[i])) not in ('()', '[]', '{}'):
return False
if not l:
return True