import java.util.Stack;class CQueue {// 模拟队列入private Stack<Integer> stack1;// 模拟队列出private Stack<Integer> stack2;public CQueue() {stack1 = new Stack<>();stack2 = new Stack<>();}public void appendTail(int value) {stack1.push(value);}public int deleteHead() {// 当stack2不为空的时候 继续出stack2中的元素if (!stack2.isEmpty()){return stack2.pop();}// 当stack2中为空时候 将stack1中的元素全部出栈 并入栈stack2while (!stack1.isEmpty()) {int temp = stack1.pop();stack2.push(temp);}// 如果stack2还是空的话 说明stack1 stack2均为空 此时返回-1if (stack2.isEmpty())return -1;// 将stack2 中元素出栈return stack2.pop();}public static void main(String[] args) {// 1 4 3 5 8CQueue cQueue = new CQueue();cQueue.appendTail(1);cQueue.appendTail(4);cQueue.appendTail(3);System.out.println(cQueue.deleteHead());System.out.println(cQueue.deleteHead());cQueue.appendTail(5);System.out.println(cQueue.deleteHead());cQueue.appendTail(8);System.out.println(cQueue.deleteHead());System.out.println(cQueue.deleteHead());}
}

剑指 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.用两个栈实现队列

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

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

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

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

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

最新文章

  1. WinCE内核裁减(中文字体)及字库和内核的分离(转)
  2. 近世代数--整环上的唯一分解问题--相伴是整环上的等价关系,最大公因子建立在相伴所划分的等价类上
  3. 分布式文件系统—HDFS—Java API操作
  4. Elasticsearch 搜索不到数据问题(_mapping 设置)
  5. Python高级——mini_web框架(实现web框架接口,数据库连接)
  6. 操作系统知识点大总结【进线程管理与调度】
  7. django中时区设置
  8. 分享:将XML(VS提取注释时生成)转换为Chm的一个方法
  9. 【小贴士】工作中的”闭包“与事件委托的”阻止冒泡“
  10. 3ds max 2020 vray 5.0 渲染设置
  11. 亿晟科技安卓主板应用品类方案详解
  12. pc电脑上浏览手机网站在线wap浏览器或模拟器软件
  13. Windowsserver 2012R2 部署pxe启动安装windows系统
  14. 多糖类水凝胶构建制备介绍(瑞禧多糖水凝胶简述)
  15. 如何修改Hosts文件(Windows、Linux)
  16. 你真的知道flex: 1;是什么意思吗?
  17. git提示CRLF will be replaced by LF问题及解决
  18. 完成英语第一阶段的学习,明天开始第二阶段
  19. Unable to connect to Redis无法连接到Redis
  20. yocto machine class解析之st-partitions-image

热门文章

  1. Mac显示隐藏的文件夹,打开.gradle文件
  2. 湖南大学计算机类有哪些专业,湖南大学专业排名,招生专业目录(10篇)
  3. 大数据在工业领域的架构与应用
  4. textmate 主题_更漂亮的TextMate
  5. 刷算法第13天(洛谷结束)——总结+P4994 终于结束的起点
  6. GBase 8a 告警管理
  7. 第一个MOOC课程《人群与网络》证书(电子版),好高兴!
  8. 【JavaWeb开发-Servlet】拾起海中的漂流瓶超强版
  9. linux之LVS简介(转自南非的蚂蚁)
  10. 鼠标点击地面人物自动走动(也包含按键wasdspace控制)