JZ5 - 用两个栈实现队列

题目描述

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

解题思路

  • 栈1 用来作入队列
    栈2 用来出队列,当栈2为空时,栈1全部出栈到栈2,栈2再出栈(即出队列)
# -*- coding:utf-8 -*-
class Solution:
    def __init__(self):
        self.st1 = []
        self.st2 = []
    def push(self, node):
        # write code here
        self.st1.append(node)
    def pop(self):
        # return xx
        if self.st2==[]:
            for i in range(len(self.st1)):
                self.st2.append(self.st1.pop())
        return self.st2.pop()
        

 

你可能感兴趣的:(JZ5 - 用两个栈实现队列)