栈的压入、弹出序列
作者:互联网
解题思路:
压入的过程中是有弹出的
# -*- coding:utf-8 -*- class Solution: def IsPopOrder(self, pushV, popV): #压入过程中是有弹出的 #首先需要有一个栈,列表 #按照pushV的方式压入栈 #弹出的时候是需要循环判断是否需要弹出 if pushV==[] or len(pushV)!=len(popV): return None stack=[] index=0 for item in pushV: #判断是否需要弹出的时机,刚刚压入后就要判断 stack.append(item) #判断需要弹出的情况的条件,压入栈的顶部和弹出栈的顶部数据相同 while stack and stack[-1]==popV[index]: stack.pop() index +=1 if stack==[]: return True else: return False # write code here
标签:index,压入,pushV,弹出,popV,序列,stack 来源: https://www.cnblogs.com/wanxueyu/p/14609155.html