剑指offer05-用两个栈实现队列

题目描述

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

 

知识点回顾:

1.队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

2.栈

3.python面向对象编程

代码

# -*- coding:utf-8 -*-
class Solution:
    def __init__(self):
        self.stack1=list()
        self.stack2=list()
    def push(self, node):
        # write code here
        self.stack1.append(node)
    def pop(self):
        # return xx
        if not self.stack2:
            for i in range(len(self.stack1)):
                self.stack2.append(self.stack1.pop(-1))
        return self.stack2.pop(-1)
原文地址:https://www.cnblogs.com/foolangirl/p/13894146.html