括号匹配

# 匹配()
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))
posted @ 2022-04-28 17:56  狒狒桑  阅读(18)  评论(0编辑  收藏  举报