Leetcode-Implement Stack using Queues(C++)
来源:互联网 发布:中国软件走势 编辑:程序博客网 时间:2024/05/06 20:54
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).
题意:利用queue来设计一个stack,实现push,top,pop与empty
解题思路:关键在于保持新插入的数永远在queue的最前面。这样top以及pop的时候可以轻松操作。
建立两个queue,始终保持一个为空。
push:将插入值push入空的queue1,然后将另一个非空queue2中的数值依次弹出放入queue1.
class Stack {public: queue<int> q[2]; int t=1; // Push element x onto stack. void push(int x) { q[1-t].push(x); while(!q[t].empty()) { q[1-t].push(q[t].front()); q[t].pop(); } t=1-t;//利用1-0=1和1-1=0来循环操作queue } // Removes the element on top of the stack. void pop() { if(!q[t].empty()) { q[t].pop(); } } // Get the top element. int top() { if(!q[t].empty()) { return q[t].front(); } } // Return whether the stack is empty. bool empty() { return q[t].empty(); }};
- Leetcode-Implement Stack using Queues(C++)
- [leetcode-225]Implement Stack using Queues(c++)
- 【LeetCode-225】 Implement Stack using Queues(C++)
- LeetCode(225) 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
- JAVA --网络编程
- unix和dos文本文件的区别
- 两天学会DirectX 3D之第二天
- 信用卡评分中的误判问题说明
- 抽象类,多态的实现_食物,动物,人
- Leetcode-Implement Stack using Queues(C++)
- 3.前行必备,掌握日志工具的使用
- ubuntu_jdk
- 微信支付 APP 支付方式的服务器端处理程序
- 《JAVA与模式》之装饰模式
- Android仿虾米音乐播放器之通知栏notification解析
- 二维码生成代码(Java)
- 据说年薪30万的Android程序员必须知道的帖子
- C语言结构体、C++结构体和C++类的解析