小练习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))