
class Solution:
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
s=Stack()
index=0
balanced=True
while index<s.size() and balanced:
symbol=s[index]
if symbol in "([{":
s.push(symbol)
else:
if s.isEmpty():
balanced=False
else:
top=s.pop()
if not matches(top,symbol):
balanced=False
index+=1
if balanced and s.isEmpty():
return True
else:
return False
def matches(open,close):
opens="([{"
closes=")]}"
return opens.index(open) == closes.index(close)
class Stack():
def __init__(self):
self.items=[]
def push(self,item):
self.items.append(item)
def isEmpty(self):
return self.items==[]
def size(self):
return len(self.items)
def pop(self):
return self.items.pop()
相关文章:
-
2021-09-07
-
2021-11-05
-
2022-01-20