用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题目介绍
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题目分析
这是一个典型的栈和队列相互转换的题目,注意,栈的性质是先进后出,队列的性质是先进先出,队列的push操作,可以使用一个栈来完成,队列的pop操作,需要把一个栈的数据转到另外一个栈上,然后只需要对另外一个栈,执行pop()操作即可,因为此时的栈顶即是第一个栈的栈定,看成队列的话,即是队列的出口处,详细操作请看源代码。
源代码
class Solution
{
public:void push(int node) {stack1.push(node);}int pop() {while(!stack1.empty()){stack2.push(stack1.top());stack1.pop();}int num=stack2.top();stack2.pop();while(!stack2.empty()){stack1.push(stack2.top());stack2.pop();}return num;}
private:stack<int> stack1;stack<int> stack2;
};
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。相关推荐
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; public class Solution { ...
- 算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...
算法:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.<剑指offer> 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 ...
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型...
以下为借鉴 var stack1 = [], stack2=[]; function push(node){ stack1.push(node); } function pop(){ ...
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...
- 《剑指offer》c++版本 9. 用两个栈来实现一个队列
如题: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 本题考察对数据结构队列,栈的理解.队列的特点是FIFO,先进先出.栈的特点是FILO,先进后出.题目要求我 ...
- N5-用两个栈来实现一个队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; /*** 用两个栈来实现一个队列,完成队列的Push和P ...
- 牛客网(剑指offer) 第五题 用两个栈来实现一个队列
//用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. //方法一:没有用到栈 $queue=array(); function mypush($node) {glo ...
- 剑指offer两个栈来实现一个队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路 一个水题,不过有一个坑:我们假设stack1是输入用的,stack2是输出用的,必须是stack2 ...
- 化栈为队(两个栈来实现一个队列)
实现一个MyQueue类,该类用两个栈来实现一个队列. 示例: MyQueue queue = new MyQueue();queue.push(1); queue.push(2); queue.pe ...
- 两个栈来实现一个队列的C++代码(某公司社会招聘笔试题)
利用两个栈来实现一个队列, 这个问题很常见. 最关键的是要有好的思路, 至于实现, 那是很简单的事情了. 在本文中, 也想说说自己的思路, 但是, 我觉得用代码来表述思路更符合我的习惯, 也是我的菜 ...
最新文章
- Leetcode | 3Sum
- centos删除文件不释放_centos 磁盘空间不释放 各位有什么解决方案吗
- 【Qt】窗口组件和窗口类型
- STM32:位带操作分析
- python函数定义中参数列表里的参数是_python-函数(def)参数 及参数解构 变量 知识整理...
- 目标检测的模型集成方法及实验
- WinRAR 5.70 简体中文官方试用版(无广告)
- 微软惊天泄漏,Win11 预览版镜像提前出世
- 机器学习与数据挖掘 编程实现k均值算法
- 巴比特 | 元宇宙每日必读:企业如何将业务转移到元宇宙?这7大步骤了解一下...
- hdu 4043 概率
- vmware下虚拟机centos,root登录时候提示鉴定故障解决方法
- RatingBar的使用
- 盘点个人信息保护方面的那些认证
- postgresql 数据库巡检
- 数据库优化有哪些? 分别需要注意什么
- Grub 引导 WIM / ISO
- 学会如何学习,是一项终极生存技能
- Python模拟订单号生成
- 关于计算机素养论文,浅谈计算机专业教学中如何提高学生计算机素养
热门文章
- 书柜的尺寸(bzoj 1933)
- 去掉开始菜单中新装程序的红色标记【Windows】
- 学知识的时候,把自己放的低一点
- 用 ASP.NET 管理 IIS(转)
- 项目运行报‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件“
- clipse和IDEA快捷键对照表
- 在框架中用JS设置target(用于location.href)
- 经典排序算法(十八)--Proxmap Sort
- CentOS安装MySQL及其使用(总结整理)
- Python 使用Protobuf(struct模块)