class Solution:
def isValid(self, s: str) -> bool:
li = []
for i in s:
if i in ["(", "{", "["]:
li.append(i)
elif i == ")":
if not li:
return False
else:
if li[-1] == "(":
li.pop()
else:
return False
elif i == "]":
if not li:
return False
else:
if li[-1] == "[":
li.pop()
else:
return False
else:
if not li:
return False
else:
if li[-1] == "{":
li.pop()
else:
return False
if not li:
return True
else:
return False
另一种方式:这是看的别人的解答,看起来很秀,但不知是网速原因还是怎样,下面这种方式比上面那种慢。
class Solution:
def isValid(self, s: str) -> bool:
while '{}' in s or '[]' in s or '()' in s:
s = s.replace('{}', '')
s = s.replace('[]', '')
s = s.replace('()', '')
return s == ''