mongona

mongona
-- --
正在获取天气

两个队列实现一个栈

两个队列实现一个栈
class Solution(object):
    """
    两个队列实现一个栈
    两个队列来回倒
    """
    def __init__(self):
        """
        初始化两个队列
        """
        self.queue1 = []
        self.queue2 = []

    def push(self, element):
        # 入栈时 选择一个空的队列
        if self.queue1 == []:
            self.queue2.append(element)
        else:
            self.queue1.append(element)

    def pop(self):
        # 栈为空时 抛异常
        if self.queue1 == [] and self.queue2 == []:
            raise IndexError("index out of range,  stack is empty") 

        elif self.queue2 == []:
            # queue2 为空的时候,把queue1的除了最后一个数全给添加到queue2
            for val in range(len(self.queue1) - 1):
                self.queue2.append(self.queue1.pop(0))
            # 弹出 queue1的元素  只有一个元素
            return self.queue1.pop()

        else:
            # queue1 为空的时候,把queue2的除了最后一个数全给添加到queue1
            for val in range(len(self.queue2) -1):
                self.queue1.append(self.queue2.pop(0))
            # 弹出 queue2的元素  只有一个元素
            return self.queue2.pop()












life is short

1
0
富强,民主,文明,和谐,自由,平等,公正,法治,爱国,敬业,诚信,友善。
打赏二维码
About
Sato
毕竟,代码只是思想的一种体现而已!!! 架构师就像军师,不是对面啥阵势都用大军队来干,小阵势小技术,小公司不必要也不用引入分布式
Category
Tags
Site statistics

本站现有文章18篇,共被浏览5121

本次响应耗时: 0.054s

当前来路IP: 3.229.122.219  美国

您是本站第: 34528 位访客!

本站已苟活: 

All hots
Article archiving