用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )

示例 1:

输入:
["CQueue","appendTail","deleteHead","deleteHead"]
[[],[3],[],[]]
输出:[null,null,3,-1]
示例 2:

输入:
["CQueue","deleteHead","appendTail","appendTail","deleteHead","deleteHead"]
[[],[],[5],[2],[],[]]
输出:[null,-1,null,null,5,2]

思路:

一个栈负责元素进队列,一个栈负责元素出队列。

class CQueue {
public:stack<int> s1;stack<int> s2;CQueue() {}void appendTail(int value) {s1.push(value);}int deleteHead() {if (s1.empty() && s2.empty()) {return -1;} else if (s2.empty() && !s1.empty()) {while (!s1.empty()) {s2.push(s1.top());s1.pop();}}int tmp = s2.top();s2.pop();return tmp;}
};

剑指offer 09.用两个栈实现队列相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java

    <LeetCode力扣练习>剑指 Offer 09. 用两个栈实现队列 Java 一.资源 题目: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 de ...

  2. java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)

    DailyChallenge 剑指 Offer 09. 用两个栈实现队列 Easy20200630 Description 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTai ...

  3. 【LeetCode】剑指 Offer 09. 用两个栈实现队列

    [LeetCode]剑指 Offer 09. 用两个栈实现队列 文章目录 [LeetCode]剑指 Offer 09. 用两个栈实现队列 一.双栈 总结 一.双栈 维护两个栈,第一个栈支持插入操作,第 ...

  4. Leetcode 剑指 Offer 09. 用两个栈实现队列 (每日一题 20210915)

    用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,deleteHea ...

  5. 【双100%提交】剑指 Offer 09. 用两个栈实现队列

    立志用最少的代码做最高效的表达 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队 ...

  6. 剑指 Offer 09. 用两个栈实现队列(相邻相同操作只需要移动一次)

    题目 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,delete ...

  7. 剑指 Offer 09. 用两个栈实现队列

    import java.util.Stack;class CQueue {// 模拟队列入private Stack<Integer> stack1;// 模拟队列出private Sta ...

  8. 【剑指offer】 用两个栈实现队列 java实现

    [剑指offer] 用两个栈实现队列 题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析: 栈和队列的性质,栈是先进后出的,而队列是先进先出的.对于栈我 ...

  9. 剑指Offer #05 用两个栈实现队列(模拟)

    题目来源:牛客网-剑指Offer专题 题目地址:用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 题目解析 首先,我们需要知道一下基本知 ...

最新文章

  1. Linux学习笔记5月22日任务
  2. 函数mod(a,m)
  3. Treap原理和实现方法
  4. Arm公布2019年物联网领域五大预测:智能家居、智慧城市、医疗保健上榜
  5. Html和Css学习笔记-html进阶-html5属性
  6. [转]献给2010年仍然单身的80后
  7. Memento(备忘录)
  8. ai人工智能_我的人工智能周:第5部分
  9. prbs()matlab,prbs7伪随机码生成
  10. 基于python进行小波分析,频率谱分析
  11. 基于Multisim的12小时制电子时钟仿真
  12. Win10家庭中文版 如何启用组策略
  13. oracle数据库什么情况下创建索引比较好
  14. 易客多快排系统部署教程
  15. linux服务器杀毒软件命令,悬镜Linux服务器卫士-木马查杀详解
  16. UsernamePasswordAuthenticationToken
  17. CTYZ的树论赛(P5557 旅行/P5558 心上秋/P5559 失昼城的守星使)
  18. 廊坊汽车迁入北京流程纪实
  19. java遍历文件夹下的文件
  20. 基于spark mllib 随机森林分类 代码记录后续完善

热门文章

  1. 计算机等级考试机试试题,计算机等级考试二级VFP机试试题18
  2. 免费开源B2C电商系统:(ShopXO无需授权,即可商用)- 入门篇
  3. 网站实现点击 “加入收藏 ”功能 - 代码篇
  4. 纯CSS自定义button按钮的点击特效
  5. 抖音很火的失恋表白网页模板
  6. 工商注册资质代办类网站源码 公司注册类网站织梦模板
  7. mysql从库延时好高_部署MySQL延迟从库的几个好处
  8. python抓取股票数据_Python自动获取当日所有股票数据
  9. oracle 日志 安全审计,等保测评2.0:Oracle安全审计(下)
  10. python怎么用第三方库_python中第三方库的下载方法