剑指Offer:用两个栈实现队列(Python)

题目

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

思路

申请两个栈Stack1和Stack2,Stack1当作输入,Stack2当作pop。
当Stack2空的时候,将Stack1进行反转,并且输入到Stack2。

解答

方法一

class Solution:
    def __init__(self):
        self.Stack1 = []
        self.Stack2 = []

    def push(self, node):
        self.Stack1.append(node)

    def pop(self):
        if self.Stack2 == []:
            while self.Stack1:
                self.Stack2.append(self.Stack1.pop())
            return self.Stack2.pop()
        return self.Stack2.pop()

你可能感兴趣的:(剑指Offer,队列,栈,剑指offer,用两个栈实现一个队列)