用两个栈实现队列

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

解答

第一个栈用来进行入栈操作。

第二个栈进行出栈操作。

当第二个栈为空时,将第一个栈的元素全部倒序加到第二个栈里面。

# coding:utf-8

class Solution:
    def __init__(self):
        self.l1 = []
        self.l2 = []

    def push(self, node):
        # write code here
        self.l1.append(node)
    def pop(self):
        if self.l2 == []:
            while self.l1:
                self.l2.append(self.l1.pop())
        if self.l2 == []:
            return ""
        else:
            return self.l2.pop()


s = Solution()

s.push(1)
s.push(2)
s.push(3)
print s.pop()
print s.pop()
s.push(4)
print s.pop()
print s.pop()
print s.pop()
print s.pop()

结束!

原文地址:https://www.cnblogs.com/aaronthon/p/13728488.html