用两个栈队列

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_32895961/article/details/98991996

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

思路:
栈A用来作入队列
栈B用来出队列,当栈B为空时,栈A全部出栈到栈B,栈B再出栈(即出队列)

AC代码:

def __init__(self):
    self.stack1=[]
    self.stack2=[]
def push(self, node):
    # write code here
    self.stack1.append(node)
def pop(self):
    # return xx
    if self.stack2==[]:
        while self.stack1:
            self.stack2.append(self.stack1.pop())
    return self.stack2.pop()
展开阅读全文

没有更多推荐了,返回首页