欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > LeetCode225 用队列实现栈

LeetCode225 用队列实现栈

2025/12/4 11:45:30 来源:https://blog.csdn.net/daishabby2486/article/details/140952717  浏览:    关键词:LeetCode225 用队列实现栈

前言

题目: 225. 用队列实现栈
文档: 代码随想录——用队列实现栈
编程语言: C++
解题状态: 还是没有思路

思路

还是模拟题。

代码

方法一:使用两个队列

class MyStack {
public:queue<int> que1;queue<int> que2;MyStack() {}void push(int x) {que1.push(x);}int pop() {int size = que1.size();size--;while (size--) {que2.push(que1.front());que1.pop();}int result = que1.front();que1.pop();que1 = que2;while (!que2.empty()) {que2.pop();}return result;}int top() {int size = que1.size();size--;while (size--) {que2.push(que1.front());que1.pop();}int result = que1.front();que2.push(que1.front());que1.pop();que1 = que2;while (!que2.empty()) {que2.pop();}return result;}bool empty() {return que1.empty();}
};

方法二:使用一个队列

class MyStack {
public:queue<int> que;MyStack() {}void push(int x) {que.push(x);}int pop() {int size = que.size();size--;while (size--) {que.push(que.front());que.pop();}int result = que.front();que.pop();return result;}int top() {int size = que.size();size--;while (size--) {que.push(que.front());que.pop();}int result = que.front();que.push(que.front());que.pop();return result;}bool empty() {return que.empty();}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词