Python 根据入栈顺利判定出栈顺序
Posted BreakCircle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于Python 根据入栈顺利判定出栈顺序的主要内容,如果未能解决你的问题,请参考以下文章