225. Implement Stack using Queues

开始写了两个queue的,实在太丑了,不好意思贴上了,改成了一个queue

 1 class MyStack {
 2     Queue<Integer> queue = new LinkedList<Integer>();
 3     
 4     // Push element x onto stack.
 5     public void push(int x) {
 6         queue.add(x);
 7     }
 8 
 9     // Removes the element on top of the stack.
10     public void pop() {
11         int size = queue.size();
12         for(int i = 0; i < size - 1; i++) {
13             queue.add(queue.poll());
14         }
15         queue.poll();
16     }
17 
18     // Get the top element.
19     public int top() {
20         int size = queue.size();
21         for(int i = 0; i < size - 1; i++) {
22             queue.add(queue.poll());
23         }
24         int res = queue.poll();
25         queue.add(res);
26         return res;
27     }
28 
29     // Return whether the stack is empty.
30     public boolean empty() {
31         return queue.isEmpty();
32     }
33 }

 

posted @ 2016-07-26 07:24  warmland  阅读(130)  评论(0编辑  收藏  举报