Python 根据入栈顺利判定出栈顺序

1.读取入栈,出栈数据;

2.把数据分别转化成整数列表;

3.新建栈列表,用入栈数据进行压栈;如果栈列表不为空,并且栈顶层数据为出栈的元素;删除栈列表的顶层数据;

4.如果栈列表不为空,说明栈列表里面的元素没有删除完;那么出栈就不成功;反之,成功;

 1 import sys
 2 while True:
 3     try:
 4         a = sys.stdin.readline().strip()  # 入栈
 5         b = sys.stdin.readline().strip()  # 出栈
 6         # 转化成列表
 7         a_lst = list(map(int,a.split(",")))
 8         b_lst = list(map(int,b.split(",")))
 9         # 入栈列表不为空且最后一个元素与出栈元素一样,那就删除它;
10         stack = []
11         j = 0             #出栈索引
12         for i in a_lst:
13             stack.append(i)
14             while stack and (stack[-1] == b_lst[j]):
15                 stack.pop()
16                 j += 1
17         if len(stack) == 0:
18             print("true")
19         else:
20             print("false")
21     except:
22         break
原文地址:https://www.cnblogs.com/breakcircle/p/12079335.html