LeetCode|Implement Stack using Queues
来源:互联网 发布:windows开机启动脚本 编辑:程序博客网 时间:2024/05/10 22:14
Implement Stack using Queues
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).
class Stack {public: // Push element x onto stack. void push(int x) { if(q1.empty()){ Q1 = &q1; Q2 = &q2; } else { Q1 = &q2; Q2 = &q1; } Q1->push(x); while(!Q2->empty()){ Q1->push(Q2->front()); Q2->pop(); } } // Removes the element on top of the stack. void pop() { if(q1.empty()){ q2.pop(); } else { q1.pop(); } } // Get the top element. int top() { if(q1.empty()){ return q2.front(); } else { return q1.front(); } } // Return whether the stack is empty. bool empty() { return q1.empty() && q2.empty(); } queue<int> q1, q2; queue<int> *Q1, *Q2;};
push为O(n), pop()和top()为O(1)
0 0
- [LeetCode]Implement Stack using Queues
- [LeetCode] Implement Stack using Queues
- [leetcode] Implement Stack using Queues
- LeetCode Implement Stack using Queues
- #leetcode#Implement Stack using Queues
- Leetcode: Implement Stack using Queues
- [LeetCode] Implement Stack using Queues
- [Leetcode]Implement Stack using Queues
- leetcode--Implement Stack using Queues
- LeetCode Implement Stack using Queues
- LeetCode || Implement Stack using Queues
- Leetcode Implement Stack using Queues
- LeetCode Implement Stack using Queues
- [leetcode] Implement Stack using Queues
- Leetcode: Implement Stack using Queues
- LeetCode-Implement Stack using Queues
- LeetCode Implement Stack using Queues
- Leetcode: Implement Stack using Queues
- 第8周项目1 数组做数据成员 工资类(1)
- 【数据库】SQL 优化原则(转)
- uboot主Makefile分析4~5
- 有关QTimer线程安全的探讨
- android之使用signapk打包成系统应用,获取系统权限
- LeetCode|Implement Stack using Queues
- TestNG 学习总结 - 依赖测试(十一)
- 第七周项目2-友元类
- C++作业4
- 第四次上机实验报告
- 如何阅读一本书(10)
- [hdu 5532] [2015ACM/ICPC亚洲区长春站 ] Almost Sorted Array 最长不下降子序列
- 搜索—二分三分搜索—1004
- asp.net js与后台C#代码相互调用