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
时间: 2024-08-27 13:48:51