用两个栈实现队列

题目描述

用两个栈来实现一个队列,完成队列的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

 

posted @ 2017-04-13 10:45  kuqs(奇小东)  阅读(111)  评论(0)    收藏  举报