剑指 Offer 09. 用两个栈实现队列
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. 用两个栈实现队列相关推荐
- 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java
<LeetCode力扣练习>剑指 Offer 09. 用两个栈实现队列 Java 一.资源 题目: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 de ...
- java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
DailyChallenge 剑指 Offer 09. 用两个栈实现队列 Easy20200630 Description 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTai ...
- 【LeetCode】剑指 Offer 09. 用两个栈实现队列
[LeetCode]剑指 Offer 09. 用两个栈实现队列 文章目录 [LeetCode]剑指 Offer 09. 用两个栈实现队列 一.双栈 总结 一.双栈 维护两个栈,第一个栈支持插入操作,第 ...
- Leetcode 剑指 Offer 09. 用两个栈实现队列 (每日一题 20210915)
用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,deleteHea ...
- 【双100%提交】剑指 Offer 09. 用两个栈实现队列
立志用最少的代码做最高效的表达 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队 ...
- 剑指 Offer 09. 用两个栈实现队列(相邻相同操作只需要移动一次)
题目 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,delete ...
- 剑指offer 09.用两个栈实现队列
用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,deleteHea ...
- 【剑指offer】 用两个栈实现队列 java实现
[剑指offer] 用两个栈实现队列 题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析: 栈和队列的性质,栈是先进后出的,而队列是先进先出的.对于栈我 ...
- 剑指Offer #05 用两个栈实现队列(模拟)
题目来源:牛客网-剑指Offer专题 题目地址:用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 题目解析 首先,我们需要知道一下基本知 ...
最新文章
- WinCE内核裁减(中文字体)及字库和内核的分离(转)
- 近世代数--整环上的唯一分解问题--相伴是整环上的等价关系,最大公因子建立在相伴所划分的等价类上
- 分布式文件系统—HDFS—Java API操作
- Elasticsearch 搜索不到数据问题(_mapping 设置)
- Python高级——mini_web框架(实现web框架接口,数据库连接)
- 操作系统知识点大总结【进线程管理与调度】
- django中时区设置
- 分享:将XML(VS提取注释时生成)转换为Chm的一个方法
- 【小贴士】工作中的”闭包“与事件委托的”阻止冒泡“
- 3ds max 2020 vray 5.0 渲染设置
- 亿晟科技安卓主板应用品类方案详解
- pc电脑上浏览手机网站在线wap浏览器或模拟器软件
- Windowsserver 2012R2 部署pxe启动安装windows系统
- 多糖类水凝胶构建制备介绍(瑞禧多糖水凝胶简述)
- 如何修改Hosts文件(Windows、Linux)
- 你真的知道flex: 1;是什么意思吗?
- git提示CRLF will be replaced by LF问题及解决
- 完成英语第一阶段的学习,明天开始第二阶段
- Unable to connect to Redis无法连接到Redis
- yocto machine class解析之st-partitions-image
热门文章
- Mac显示隐藏的文件夹,打开.gradle文件
- 湖南大学计算机类有哪些专业,湖南大学专业排名,招生专业目录(10篇)
- 大数据在工业领域的架构与应用
- textmate 主题_更漂亮的TextMate
- 刷算法第13天(洛谷结束)——总结+P4994 终于结束的起点
- GBase 8a 告警管理
- 第一个MOOC课程《人群与网络》证书(电子版),好高兴!
- 【JavaWeb开发-Servlet】拾起海中的漂流瓶超强版
- linux之LVS简介(转自南非的蚂蚁)
- 鼠标点击地面人物自动走动(也包含按键wasdspace控制)