python基本语法3.11-用栈实现队列

问题描述:用栈(使用list)实现队列:支持push(),pop(),top()方法。pop和top方法都应该返回第一个元素的值.

class MyQueue:
    def __init__(self):
        self.stack_1 = []
        self.stack_2 = []

    def push(self,element):
        while self.stack_1:
            self.stack_2.append(self.stack_1.pop())
        self.stack_1.append(element)
        while self.stack_2:
            self.stack_1.append(self.stack_2.pop())
    def top(self):
        if self.stack_1:
            return self.stack_1[-1]
    def pop(self):
        return self.stack_1.pop()

queue = MyQueue()
queue.push(1)
print queue.pop()
queue.push(2)
queue.push(3)
print queue.top()
print queue.pop()
原文地址:https://www.cnblogs.com/xiaoyingying/p/7737277.html