开发小学生

导航

小练习2-有效括号(堆栈思想)

使用栈思想:

建立空列表(栈),

循环字符串,若满足括号左半边,进站。若满足括号右半边判断是否满足括号闭合,若满足则就近弹出。

不满足则返回 False

若最后列表仍为空则返回True

否则返回False

def pa(s):
pair = {"{": "}", "[": "]", "(": ")"}
stack = []
for item in s:
if item in pair:
stack.append(item)
else:
       #栈为空则表示第一个字符就不是括号的左半边
if not stack:
return False
       #判断是否满足闭合条件
if pair[stack[-1]] == item:
stack.pop()
else:
return False
if len(stack) == 0:
return True
else:
return False


s = "()[]{}"
print(pa(s))

posted on 2021-11-15 17:33  开发小学生  阅读(32)  评论(0编辑  收藏  举报