当前位置: 首页 > news >正文

232. 用栈实现队列

一:题目:

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):

实现 MyQueue 类:

  • void push(int x) 将元素 x 推到队列的末尾
  • int pop() 从队列的开头移除并返回元素
  • int peek() 返回队列开头的元素
  • boolean empty() 如果队列为空,返回 true ;否则,返回 false

说明:

  • 你 只能 使用标准的栈操作 —— 也就是只有 push to toppeek/pop from topsize, 和 is empty 操作是合法的。
  • 你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。

二:代码:

class MyQueue {
public:stack<int> st1;stack<int> st2;MyQueue() {}void push(int x) {st1.push(x);}int pop() {if(st2.empty()){while(!st1.empty()){st2.push(st1.top());st1.pop();}   }int result=st2.top();st2.pop();return result;}int peek() {int m=this->pop();st2.push(m);return m;}bool empty() {return st1.empty()&&st2.empty();}
};

三:结果:


http://www.mrgr.cn/news/2961.html

相关文章:

  • 协处理器+流水线 (9)
  • Linux系统性能调优指南-硬件资源管理
  • 从零到一,全面掌握Apache DolphinScheduler发版流程,实战派经验分享!
  • 前端算法 | LeetCode第 70 题爬楼梯问题
  • Java 开发中常用的 Linux 命令
  • java:实现简单的验证码功能
  • 如何设置PowerBI报告展示在屏幕的大小?
  • FASTSPEECH 2论文阅读
  • CryptoJS hex模式前端
  • 系统架构设计师——系统运行与维护
  • RCE与SQL漏洞的复现
  • 嵌入式AI快速入门课程-K510篇 (第四篇 AI概念及理论知识)
  • PowerShell 一键配置IP
  • C语言 数据存储
  • vue3之仪表盘
  • sqlalchemy RowProxy
  • libLZMA库iOS18平台编译
  • 《重生到现代之从零开始的C语言生活》—— 指针2
  • 【JavaScript 】JavaScript 全教程 02
  • python从列表中选出最后4个元素