LeetCode(225)用队列实现栈
令队列一为主队列,队列二为辅助队列
当队列一空的时候,输入的元素直接放进来,即队头和队尾都是这个元素
当队列非空的时候,输入一个元素:
先把队列一的元素都放入队列二,输入此元素,再把队列二倒入队列一,这样就实现了新入队的元素在队列一的头,即后进先出
另外,queue<int>q的基本操作是:
q.front();//返回队头元素 q.push(3);//插入3至队尾 q.pop();//删除队头元素 q.size();
附上代码:
class MyStack { public: queue<int>q1,q2; MyStack() { } void push(int x) { int t; if(q1.size()>0){ while(!q1.empty()){ q2.push(q1.front()); q1.pop(); } q1.push(x); while(!q2.empty()){ q1.push(q2.front()); q2.pop(); } }else{ q1.push(x); } } int pop() { int t = q1.front(); q1.pop(); return t; } int top() { return q1.front(); } bool empty() { if(q1.size()==0)return true; return false; } }; /** * Your MyStack object will be instantiated and called as such: * MyStack* obj = new MyStack(); * obj->push(x); * int param_2 = obj->pop(); * int param_3 = obj->top(); * bool param_4 = obj->empty(); */
分类:
LeetCode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)