题目介绍

用两个栈来实现一个队列,完成队列的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类型。相关推荐

  1. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; public class Solution {      ...

  2. 算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...

    算法:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.<剑指offer> 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 ...

  3. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型...

    以下为借鉴 var stack1 = [], stack2=[]; function push(node){     stack1.push(node); } function pop(){      ...

  4. JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)

    最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...

  5. 《剑指offer》c++版本 9. 用两个栈来实现一个队列

    如题: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 本题考察对数据结构队列,栈的理解.队列的特点是FIFO,先进先出.栈的特点是FILO,先进后出.题目要求我 ...

  6. N5-用两个栈来实现一个队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; /*** 用两个栈来实现一个队列,完成队列的Push和P ...

  7. 牛客网(剑指offer) 第五题 用两个栈来实现一个队列

    //用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. //方法一:没有用到栈 $queue=array(); function mypush($node) {glo ...

  8. 剑指offer两个栈来实现一个队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路 一个水题,不过有一个坑:我们假设stack1是输入用的,stack2是输出用的,必须是stack2 ...

  9. 化栈为队(两个栈来实现一个队列)

    实现一个MyQueue类,该类用两个栈来实现一个队列. 示例: MyQueue queue = new MyQueue();queue.push(1); queue.push(2); queue.pe ...

  10. 两个栈来实现一个队列的C++代码(某公司社会招聘笔试题)

    利用两个栈来实现一个队列, 这个问题很常见.  最关键的是要有好的思路, 至于实现, 那是很简单的事情了. 在本文中, 也想说说自己的思路, 但是, 我觉得用代码来表述思路更符合我的习惯, 也是我的菜 ...

最新文章

  1. Leetcode | 3Sum
  2. centos删除文件不释放_centos 磁盘空间不释放 各位有什么解决方案吗
  3. 【Qt】窗口组件和窗口类型
  4. STM32:位带操作分析
  5. python函数定义中参数列表里的参数是_python-函数(def)参数 及参数解构 变量 知识整理...
  6. 目标检测的模型集成方法及实验
  7. WinRAR 5.70 简体中文官方试用版(无广告)
  8. 微软惊天泄漏,Win11 预览版镜像提前出世
  9. 机器学习与数据挖掘 编程实现k均值算法
  10. 巴比特 | 元宇宙每日必读:企业如何将业务转移到元宇宙?这7大步骤了解一下...
  11. hdu 4043 概率
  12. vmware下虚拟机centos,root登录时候提示鉴定故障解决方法
  13. RatingBar的使用
  14. 盘点个人信息保护方面的那些认证
  15. postgresql 数据库巡检
  16. 数据库优化有哪些? 分别需要注意什么
  17. Grub 引导 WIM / ISO
  18. 学会如何学习,是一项终极生存技能
  19. Python模拟订单号生成
  20. 关于计算机素养论文,浅谈计算机专业教学中如何提高学生计算机素养

热门文章

  1. 书柜的尺寸(bzoj 1933)
  2. 去掉开始菜单中新装程序的红色标记【Windows】
  3. 学知识的时候,把自己放的低一点
  4. 用 ASP.NET 管理 IIS(转)
  5. 项目运行报‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件“
  6. clipse和IDEA快捷键对照表
  7. 在框架中用JS设置target(用于location.href)
  8. 经典排序算法(十八)--Proxmap Sort
  9. CentOS安装MySQL及其使用(总结整理)
  10. Python 使用Protobuf(struct模块)