LeetCode #232 Implement Queue using Stacks (栈实现队列)

题目:

Implement the following operations of a queue using stacks.

  • push(x) — Push element x to the back of queue.
  • pop() — Removes the element from in front of queue.
  • peek() — Get the front element.
  • empty() — Return whether the queue is empty.

 

分析:

使用栈来实现队列的数据结构。

2个栈,stack1用来入队,stack2用来出队。

出队时,如果stack2不为空,则stack2直接弹出一个元素;如果为空,则stack1弹出所有元素,stack1每弹出一个元素就压入stack2,最后stack2再弹出一个元素。

 

代码:

Java