题目

题目地址:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/

题解

两个栈实现一个队,一个栈用来服责入队一个负责出队,入队的时候就直接将元素压进stack1中,出队的时候先判断负责出栈的stack2是否为空,为空就将stack1中的元素直接出栈入栈到stack2中,这样正好stack2中的元素出栈时正好和元素插入的的顺序一样正好就满足了队列的先进先出的性质。

class CQueue {private Deque<Integer> stack1;private Deque<Integer> stack2;public CQueue() {stack1 = new LinkedList<>();stack2 = new LinkedList<>();}public void appendTail(int value) {stack1.push(value);}public int deleteHead() {if (stack2.isEmpty()){while (!stack1.isEmpty()){stack2.push(stack1.pop());}}if (stack2.isEmpty()){return -1;}return stack2.pop();}
}

剑指 Offer 09. 用两个栈实现队列(day 03)相关推荐

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

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

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

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

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

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

最新文章

  1. 数据预处理+缺失值处理方案+Missing Value+pandas+缺失值填充方法、方案
  2. 2021年,作为算法工程师的你们会在CV业务落地上用Transformer吗?
  3. java系统高并发解决方案
  4. 添加三维动画 demo
  5. 如何Docker化任意一个应用
  6. 算法导论之NP完全性和近似算法
  7. JQuery中操作Css样式的方法
  8. 复现经典:《统计学习方法》​第17章 潜在语义分析
  9. 傅里叶变换公式_理解1维傅里叶变换
  10. MySQL LIST分区(转载)
  11. appium常用参数(一)
  12. 第五章 卷积神经网络(CNN)
  13. VFIO IOMMU简介
  14. matlab归一化mapminmax警告,matlab函数mapminmax归一化的问题
  15. GANDCRAB V5.2勒索病毒,不可破解,尽快防御!
  16. excel计算机一级打不开,excel打不开的原因及解决方法
  17. [MATLABSIMULINK] 如何提取并处理Simscape Power System 中powergui的谐波分析数据
  18. iacr crypto 级别_缠论走势终完美:任何级别的所有走势,都能分解成盘整与趋势两种,而趋势又分上涨与下跌两种...
  19. 2022百万奖金投委团 |香港科大-杰瑞集团 2022【人工智能】百万奖金国际创业大赛...
  20. 电子专业的学生必看的文章

热门文章

  1. 唐僧给李世民的取经汇报
  2. 5.业务架构·应用架构·数据架构实战 --- 业务驱动的数据架构设计
  3. 4.企业安全建设指南(金融行业安全架构与技术实践) --- 内控合规管理
  4. 5.RabbitMQ实战 --- 集群并处理失败
  5. 2.中小型企业通用自动化运维架构 -- Ansible 安装
  6. 21.MySQL 性能优化
  7. 6. access_token
  8. 6. Magento2 --- 创建主题
  9. 微信小游戏flappy bird填坑
  10. 【第三课】ANR和OOM——贪快和贪多的后果(上)