首页 > 其他 > 详细

栈的压入、弹出序列

时间:2021-04-02 10:55:01      阅读:20      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 解题思路:

压入的过程中是有弹出的

# -*- 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

 

栈的压入、弹出序列

原文:https://www.cnblogs.com/wanxueyu/p/14609155.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!