LeetCode 225. Implement Stack using Queues
2016-07-22 01:46
399 查看
225. Implement Stack using Queues
My Submissions QuestionEditorial Solution
Total Accepted: 37060 Total Submissions: 121389 Difficulty: Easy
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).
Update (2015-06-11):
The class name of the Java function had been updated to MyStack instead of Stack.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and all test cases.
My Submissions QuestionEditorial Solution
Total Accepted: 37060 Total Submissions: 121389 Difficulty: Easy
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).
Update (2015-06-11):
The class name of the Java function had been updated to MyStack instead of Stack.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and all test cases.
class Stack { public: // Push element x onto stack. queue<int> q1, q2; void push(int x) { q1.push(x); } // Removes the element on top of the stack. void pop() { while(q1.size() != 1) { int t = q1.front(); q1.pop(); q2.push(t); } q1.pop(); while(!q2.empty()) { int t = q2.front(); q2.pop(); q1.push(t); } } // Get the top element. int top() { return q1.back(); } // Return whether the stack is empty. bool empty() { return q1.empty(); } };
相关文章推荐
- Android适配——采用Values-dpi-wSize X hSize 模式,并分析原理
- LeetCode 303. Range Sum Query – Immutable
- LeetCode 347. Top K Frequent Elements
- LeetCode 63. Unique Paths II
- iOS 分类之UIColor+Hex
- LeetCode 96. Unique Binary Search Trees
- LeetCode 300. Longest Increasing Subsequence
- LeetCode 304. Range Sum Query 2D – Immutable
- UITableView修改索引的方法
- ionic生成apk使用build命令下载gradle-2.2.1-all.zip卡,解决方案
- LeetCode 51. N-Queens
- LeetCode 52. N-Queens II
- php学习笔记之require()和include()
- HashMap按value的顺序输出
- 用vue创建hello world,不用再担心显示message了
- 使用PortableBasemapServer 和 terrabuilder 制作MPT
- Lucene3.X中的自定义评分机制
- Lucene4.X中的自定义评分机制
- 【Arduino官方教程】数字处理示例(六):音调键盘
- Leetcode Unique Paths II