leetcode-232 用栈实现队列
使用栈实现队列的下列操作:
- push(x) – 将一个元素放入队列的尾部。
- pop() – 从队列首部移除元素。
- peek() – 返回队列首部的元素。
- empty() – 返回队列是否为空
栈的特点:后入先出
队列的特点:先入先出
使用一个数据栈,一个辅助栈,我们最终的目的是想要将新添加的元素放入栈低,所以使用辅助栈先将之前的数据栈元素保存起来,将新元素放入空的数据栈,再将辅助栈中的元素重新添加到数据栈中即可。
实现如下:
class MyQueue {private:stack<int> S;
public:/** Initialize your data structure here. */MyQueue() {}/** Push element x to the back of queue. */void push(int x) {stack<int> tmp;while(!S.empty()){tmp.push(S.top());S.pop();}S.push(x);while(!tmp.empty()) {S.push(tmp.top());tmp.pop();}}/** Removes the element from in front of queue and returns that element. */int pop() {int tmp = S.top();S.pop();return tmp;}/** Get the front element. */int peek() {return S.top();}/** Returns whether the queue is empty. */bool empty() {return S.empty();}
};
leetcode-232 用栈实现队列相关推荐
- LeetCode 232. 用栈实现队列(双栈法-队列)
1. 题目 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元素. peek() – 返回队列首部的元素. empty() – 返回队列是否为 ...
- leetcode 232. 用栈实现队列(Implement Queue using Stacks)
目录 题目描述: 示例: 说明: 解法: 题目描述: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部. pop() -- 从队列首部移除元素. peek() -- 返回队列 ...
- 【Java】LeetCode 232. 用栈实现队列
题目描述 : 请你仅使用两个栈实现先入先出队列.队列应当支持一般队列支持的所有操作(push.pop.peek.empty): 实现 MyQueue 类: void push(int x) 将元素 x ...
- Leetcode 232. 用栈实现队列 解题思路及C++实现
解题思路: 使用两个栈,一个栈a用来存储每一次操作得到的队列,另一个栈b作为辅助栈. 在每一次push操作的时候,先把a中排好的队列(先进先出),依次push进栈b,所以,栈b中元素的排序就是后进先出 ...
- leetcode 232. 用栈实现队列 思考分析
题目 请你仅使用两个栈实现先入先出队列.队列应当支持一般队列的支持的所有操作(push.pop.peek.empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到 ...
- 代码随想录【day 10 栈与队列】| 232.用栈实现队列、 225. 用队列实现栈
代码随想录[day 10 栈与队列]| 232.用栈实现队列. 225. 用队列实现栈 理论基础 LeetCode 232.用栈实现队列 题目链接:232.用栈实现队列 卡哥文解 视频讲解 解题思路( ...
- 【Leetcode】232.用栈实现队列
题目链接:232.用栈实现队列 关键字:栈.队列 解题思路 使用两个栈实现队列,其中一个栈正常使用,另一个栈用来保存逆序数据 代码实现 class MyQueue { public:/** Initi ...
- Leetcode刷题——栈与队列
Leetcode刷题--栈与队列 一.栈与队列定义 二.Leetcode题目 1.用栈实现队列 2.用队列实现栈 一.栈与队列定义 栈:先进后出,栈提供push 和 pop 等等接口,所有元素必须符合 ...
- 【代码随想录刷题记录】 232.用栈实现队列 、225. 用队列实现栈
232.用栈实现队列 题目 请你仅使用两个栈实现先入先出队列.队列应当支持一般队列支持的所有操作(push.pop.peek.empty): 实现 MyQueue 类: void push(int x ...
- Suzy找到实习了吗Day 10 | 栈和队列开始啦:232. 用栈实现队列,225. 用队列实现栈
day10 python栈的实现 Python栈所需要的包 232. 用栈实现队列 思路 solution ?? 225. 用队列实现栈 思路 solution python栈的实现 Python中现 ...
最新文章
- R语言ggplot2可视化facet间隔设置语法实战
- Could not autowire field: private javax.servlet.http.HttpServletRequest
- 【Java】单词倒序输出
- 在Spring中嵌入HSQLDB服务器实例
- C++ 里利用 std::ios::sync_with_stdio(false) 解决TLE问题
- H5炫酷特效系列4——炫酷粒子变化特效
- 华为Mate 30 Lite曝光:搭载麒麟810+20W快充
- 用电饭锅做蛋糕的做法
- Flex4学习笔记(二)--语法相关
- IT男几时而立(下)
- 成立一年,openEuler为开源带来哪些改变
- Eclipse 插件 在线安装 收集
- 蓝天模具风扇调速软件_联力UNI FAN SL120风扇体验:模组化拼装的风扇
- 倍福PLC_添加CX2500-0060以太网模块后无法从TwinCAT软件扫描到问题
- 中心极限与大数定理律的关系_【小结】实数域的基本定理
- WhatsApp网页版扫码分析
- 网上商城系统支付方式如何配置?支付方式有哪些
- 微信公众平台开发教程Java版(一)环境准备篇
- 计算机考研 东华大学,2017考研:计算机科学与技术专业考研院校推荐之东华大学...
- 【Python绘图】pyecharts绘制南丁格尔玫瑰图
热门文章
- SQL Server 日期和时间相关的数据类型有两种
- sybase Invalid command line argument 'and'.
- 一般筛法求素数+快速线性筛法求素数
- Bqq服务器的缓存文件放什么目录,如何使文件系统缓存失效? - How to invalidate the file system cache? - 开发者知识库...
- visual MySQL 教程_MySql轻松入门系列——第二站 使用visual studio 对mysql进行源码级调试...
- 多元统计分析何晓群_多元统计分析第四章作业
- getinstance方法详解_二、设计模式总览及工厂模式详解
- aes js 加盐值 解密_crypto-js aes加密解密
- 软件项目技术方案_榆林化学公司项目工艺包关键技术创新方案审查顺利完成
- mysql 事务隔离规范_MySQL事务隔离级别以及脏读、幻读、不可重复读示例