Python

栈的压入、弹出序列

http://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106

class Solution:
    def IsPopOrder(self, pushV, popV):
        res = [pushV.pop(0)] # 辅助栈,对数组push进行模拟
        while res and popV:
            if res[-1] == popV[0]:  # 当辅助栈的顶与pop[0]的元素一致,执行弹出操作
                res.pop()
                popV.pop(0)
            else:  # 当辅助栈的顶与pop[0]的元素不一致,辅助栈入栈操作,寻找下一个应该弹出的数
                if pushV:  # 假如push栈已为空,返回false
                    res.append(pushV.pop(0))
                else:
                    return False
        return True 
全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务