用两个栈实现队列
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
分析:栈先进后出,可以靠list反转实现;队列先进先出,可以靠删除list末尾实现。
用两个栈实现,需要注意的是删除之后,拷贝栈也要随之改变,accept源码如下:
# -*- coding:utf-8 -*- class Solution: global lisa, lisb lisb = [] lisa = lisb[::-1] def push(self, node): # write code here global lisb, lisa lisa = lisb[::-1] lisa.append(node) lisb = lisa[::-1] def pop(self): # return xx global lisa,lisb lisa = lisb[::-1] xx = lisb[-1] lisb.pop() return xx

浙公网安备 33010602011771号