Leetcode Implement stack using queues
2015-06-19 07:50
363 查看
Implement the following operations of a stack using queues.
push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. top() -- Get the top element. empty() -- Return whether the stack is empty.
Notes:
You must use only standard operations of a queue – which means only push to back, peek/pop from front, size, and is empty operations are valid.
Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).
也可以用2个queue。
2种思路:
Method 1 (By making push operation costly)
Method 2 (By making pop operation costly),这里用的method2
class MyStack { List<Integer> queue; MyStack() { queue=new LinkedList<Integer>(); } // Push element x onto stack. public void push(int x) { queue.add(x); } // Removes the element on top of the stack. public void pop() { if(queue.isEmpty())return; int n=queue.size(); for(int i=0;i<n-1;i++) { queue.add(queue.remove(0)); } queue.remove(0); } // Get the top element. public int top() { if(queue.isEmpty())return Integer.MAX_VALUE; int n=queue.size(); for(int i=0;i<n-1;i++) { queue.add(queue.remove(0)); } int r=queue.remove(0); queue.add(r); return r; } // Return whether the stack is empty. public boolean empty() { return queue.isEmpty(); } }
相关文章推荐
- [LeetCode] Implement Stack using Queues
- leetcode 225 Implement Stack using Queues
- Leetcode 225 Implement Stack using Queues 使用队列实现栈
- 【LeetCode-面试算法经典-Java实现】【225-Implement Stack using Queues(用队列实现栈操作)】
- [C语言][LeetCode][225]Implement Stack using Queues
- LeetCode--Implement Stack using Queues
- 【LeetCode】232 & 225 - Implement Queue using Stacks & Implement Stack using Queues
- Leetcode Implement Stack using Queues
- leetcode_Implement Stack using Queues
- [LeetCode] Implement Stack using Queues
- Implement Stack using Queues && Implement Queue using Stacks (LeetCode)
- [Leetcode]Implement Stack using Queues
- Leetcode 第225题 Implement Stack using Queues
- leetcode Implement Stack using Queues
- LeetCode_Implement Stack using Queues
- 【LeetCode 225_数据结构_栈_实现】Implement Stack using Queues
- LeetCode(225) Implement Stack using Queues
- [LeetCode] Implement Stack using Queues 用队列来实现栈
- Leetcode 225:Implement Stack using Queues
- LeetCode(225) Implement Stack using Queues