【题目描述】
app
As the title described, you should only use two stacks to implement a queue's actions.The queue should support push(element), pop() and top() where pop is pop the first(a.k.a front) element in the queue.Both pop and top methods should return the value of first element.ide
正如标题所述,你须要使用两个栈来实现队列的一些操做。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。spa
【题目连接】code
http://www.lintcode.com/en/problem/implement-queue-by-two-stacks/
orm
【题目解析】队列
用两个Stack来实现一个Queue,能够考虑到push()时,几乎与Queue中的offer()同样,都是加在末尾,区别是当Stack pop()时,取出的是最近加入(newest)的元素,而Queue用poll()则是将最老(oldest)的元素取出。使用2个Stack,能够将stack2做为push()时的目标,而另外一个stack1用来翻转顺序,只有当peek()或者是poll()时,才须要将元素翻转存入stack1,再进行读取。
element
【参考答案】get
http://www.jiuzhang.com/solutions/implement-queue-by-two-stacks/it