# 匹配()
def func1(s: str):
temp = []
for i in s:
if i in '(':
temp.append(i)
else:
if i in ')':
if temp:
temp.pop()
else:
return False
if temp:
return False
return True
# 匹配(){} []
def func2(s: str):
temp = []
for i in s:
if i in '([{':
temp.append(i)
else:
if i in ')]}':
if temp:
if '([{'.find(temp.pop()) == ')]}'.find(i):
# if '([{'.index(temp.pop()) == ')]}'.index(i):
continue
else:
return False
if temp:
return False
return True
if __name__ == '__main__':
s1 = '(()())'
s2 = '[{()()}()]'
print(func1(s1))
print(func2(s2))