225. Implement Stack using Queues 用两个队列实现栈的基本操作。
来源:互联网 发布:淘宝优惠券怎么使用 编辑:程序博客网 时间:2024/06/05 07:07
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.
- You must use only standard operations of a queue -- which means only
push to back
,peek/pop from front
,size
, andis 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 {private: queue<int> q1,q2;//保证一个队列为空,当保存新元素时,将其保存至空队列,然后将另一个队列的所有元素存入此队列。public: // Push element x onto stack. void push(int x) { if(q1.empty()){ q1.push(x); while(!q2.empty()){ int tmp=q2.front(); q2.pop(); q1.push(tmp); } } else if(q2.empty()){ q2.push(x); while(!q1.empty()){ int tmp=q1.front(); q1.pop(); q2.push(tmp); } } } // Removes the element on top of the stack. void pop() { if(!q1.empty())q1.pop(); else q2.pop(); } // Get the top element. int top() { if(!q1.empty())return q1.front(); else return q2.front(); } // Return whether the stack is empty. bool empty() { return q1.empty()&&q2.empty(); }};
0 0
- 225. Implement Stack using Queues 用两个队列实现栈的基本操作。
- 225.Implement Stack using Queues (用队列实现栈)
- 225. Implement Stack using Queues (用队列实现栈)
- Implement Stack using Queues 两个队列实现一个栈
- 两个队列实现一个栈[leetcode]Implement Stack using Queues
- leetcode 225. Implement Stack using Queues 双队列实现栈
- 栈-Implement Stack using Queues(用队列实现栈)
- Implement Stack using Queues 用队列实现栈
- Implement Stack using Queues 用队列实现栈
- 225. Implement Stack using Queues (用队列模拟栈)
- [LeetCode-225] Implement Stack using Queues(两个队列实现栈)
- Leetcode 225 Implement Stack using Queues 使用队列实现栈
- 【LeetCode-面试算法经典-Java实现】【225-Implement Stack using Queues(用队列实现栈操作)】
- LeetCode Implement Stack using Queues 栈&队列
- 225.leetcode Implement Stack using Queues(easy)[两个队列模拟栈]
- LeetCode 225. Implement Stack using Queues(使用队列来实现栈)
- LeetCode 225 Implement Stack using Queues(用队列来实现栈)(*)
- 225.Implement Stack using Queues
- CPU和GPU的区别
- Hibernate插入数据时报org.hibernate.service.UnknownServiceException异常
- ios闭包循环引用精讲
- 变量的初始化
- C++ 自制Redis 数据库(十一)哈希类与数据库类
- 225. Implement Stack using Queues 用两个队列实现栈的基本操作。
- Linux笔记(5)——搜索命令
- 内部类基本知识点
- 文件操作杂记
- HDU 4300 Clairewd’s message
- 【每日算法】插入&选择&冒泡排序
- C#中的线程(一)入门
- centos上安装及配置redis cluster
- C#中的线程(二) 线程同步基础