题目:用两个队列实现栈的功能

代码如下:

这是一道简单题,不管是队列实现栈,还是栈实现队列,都是考察我们对栈与队列的理解,栈可以想象成单口迷宫,先进去的人势必最后出来,队列可以想象成洗澡排队,先洗的人先走。说完这些我们看题,我们把这道题可以想象成洗澡问题,假设n个人按顺序去洗澡,标记为1、2、3……n我们把淋浴看成队列1,池子看成队列2,想要实现最后一个进去的人最先出去,我们可以这样做:

先统计n的数量,然后就可以开始行动了!1洗的不爽,去泡了池子;2洗的不爽,也去泡了池子……n-1也去泡了池子,最后一人n冲完淋浴走人,我们再按泡池子的顺序让他们去冲淋浴去。

那我们看,在这个例子中,人数就是size,最后一人去冲淋浴相当于最后一人要在队列1中,我们让size--的人数去泡池子,也就是去队列2中,那我们就实现了让最后一个进去的人先洗完,也就是实现了栈的功能,我们达到了想要的结果后,在复原队列1即可。

所以说再用队列实现栈时,队列2就是工具人的角色,他只扮演一个容器,让我们存放队列1的值,用完队列2之后就不要它了,对它进行清空,明白了这些,再去写代码岂不是手到擒来!~

弹弹弹——弹走队列2相关推荐

  1. layer重复弹出(layui弹层同时存在多个)的解决方法

    layer重复弹出(layui弹层同时存在多个)的解决方法 参考文章: (1)layer重复弹出(layui弹层同时存在多个)的解决方法 (2)https://www.cnblogs.com/sird ...

  2. 原生Js封装的弹出框-弹出窗口-页面居中-多状态可选

    实现了一下功能: 1.title可自定义 可拖拽 2.width height可以自定义 3.背景遮罩和透明度可以自定义 4.可以自己编辑弹出框里的html 5.确定 取消按钮可选 调用方法: 1 P ...

  3. 通过NSNotification来监听键盘弹出和弹回

    在通知中心建立一个广播来监听键盘的弹出和弹回,在监听事件中加入触发事件的一些操作. [[NSNotificationCenter defaultCenter]addObserver:self sele ...

  4. vue怎么通过if跳出方法_vue多种弹框的弹出形式

    demo地址: 1.父组件引入子组件,子组件的加载问题 products.vue引入dlAddProd弹框(dlAddProd.vue),由于 ,所以在products页面加载时,dlAddProd会 ...

  5. vue 进入首页只弹一个弹框_vue.js实现只弹一次弹框

    核心代码是 getCookie()部分,控制弹框的显示隐藏则在 created()中. Lorem ipsum dolor sit amet, consectetur adipisicing elit ...

  6. 弹出窗弹出两次的原因

    弹出窗弹出两次,点击事件只使用了一次,很有可能是使用匹配绑定事件匹配了两次,所以点击一次出发了两次事件,也就是两个弹窗 转载于:https://www.cnblogs.com/zhengyuanyua ...

  7. Appium UiWatchers 监听解决各种非期待弹窗,弹层,弹弹弹等问题

    Appium UiWatchers 监听解决各种非期待弹窗,弹层,弹弹弹等问题 参考文章: (1)Appium UiWatchers 监听解决各种非期待弹窗,弹层,弹弹弹等问题 (2)https:// ...

  8. 小程序 制作自定义弹层 添加弹层显示和隐藏动画 父组件与子组件(自定义组件)之间传值

    0.说明与效果 本文打算用一个具体的例子,总结下这些开发过程中学习到的知识: 1.制作自定义组件,并在页面中引用 2.自定义组件的内容是一个表单弹层,添加弹层在弹出和隐藏时的动画 3.展示父组件与子组 ...

  9. 部分机型进行运行时权限申请时不弹出授权弹框是什么情况?百分百弹出授权弹框,要不?

    先看效果: 最近上架包到Googleplay的时候,由于targetSdkVersion低于26,被要求调整到26,那就调整呗.一调整,各种坑就来了.其他都是小坑.不讲.主要还是平时没当回事的运行时权 ...

最新文章

  1. python一个字母红了_Python练习:最后一个字母/第一个字母
  2. python扫雷代码_室友扫雷通关来炫耀!我用Python做出自动扫雷十秒通关!
  3. 数据库-数据类型及主键外键
  4. 【深度学习系列】迁移学习Transfer Learning
  5. warning: pointer of type 'void *' used in arithmetic
  6. 虚拟服务器问题,虚拟主机常见的五大问题
  7. 从CLI监视OpenJDK
  8. 欧几里德算法求最大公约数
  9. Snap svg 主要对象
  10. QT中使用全局变量在多个源程序中传递变量
  11. java内部类为什么使用很少_Java内部类你真的会吗?
  12. J.U.C - 其它组件
  13. elisa数据处理过程图解_ELISA操作流程
  14. 关于空间域到频率域的转换
  15. java逻辑表达式的计算和优化
  16. 元宇宙:从现实到虚无祛魅的产物|广州华锐互动
  17. 一个学计算机的打字速度慢,电脑打字速度慢怎么办
  18. CP Editor 编辑器(为竞赛而生的编辑器)的安装与配置
  19. 苏强SN系列服务器说明书,SN2000交流伺服驱动器使用手册.pdf
  20. 社保证照片怎么做?一招教你get既专业又好看的证件照!

热门文章

  1. RapidJSON入门:手把手教入门实例介绍
  2. CANopen1.0-基础知识
  3. python注释格式_Python 注释
  4. QT Creator 中QWT的安装
  5. 【论文泛读12】用于网约车需求预测的时空多图卷积网络
  6. 【Python自然语言处理】概率上下文无关文法(PCFG)及神经网络句法分析讲解(图文解释 超详细)
  7. 【随笔】Visual Studio+Unity开发 无法直接启动带有“类库输出类型“的项目 处理方案
  8. android wifi bssid是什么意思,安卓如何得到WiFi SSID,BSSID,及其区别。
  9. 计算机网络入门必读书籍 ——《网络是怎么连接的》
  10. Win 10系统当前窗口失去焦点/经常弹出(无故跳出当前窗口)的解决方法