用两个栈实现队列(Java)
牛客链接
用两个栈实现队列
题目
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解题思路
栈stack1用来实现push操作,stack2空的前提下才能进行入栈,否则影响后续进出队列的顺序。
栈stack2用来实现pop操作,将push进去的stack1内的元素存入stack2中,再进行出栈,就是队列的出列顺序。
代码实现
import java.util.Stack;public class Solution {Stack<Integer> stack1 = new Stack<Integer>();Stack<Integer> stack2 = new Stack<Integer>();public void push(int node) {while(!stack2.isEmpty()) {stack1.push(stack2.pop());} stack1.push(node);}public int pop() {while(!stack1.isEmpty()) {stack2.push(stack1.pop());}return stack2.pop();}
}
用两个栈实现队列(Java)相关推荐
- 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java
<LeetCode力扣练习>剑指 Offer 09. 用两个栈实现队列 Java 一.资源 题目: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 de ...
- 【剑指offer】 用两个栈实现队列 java实现
[剑指offer] 用两个栈实现队列 题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析: 栈和队列的性质,栈是先进后出的,而队列是先进先出的.对于栈我 ...
- java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
DailyChallenge 剑指 Offer 09. 用两个栈实现队列 Easy20200630 Description 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTai ...
- 【剑指offer - C++/Java】5、用两个栈实现队列
学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 牛客网题目链接:用两个栈实现队列 文章目录 1.题目分析 2.代码 ...
- 在JAVA中用两个栈实现队列的功能
此问题的实现可以加深对栈和队列的理解,让我们先来认识一下栈和队列 1.Stack栈 栈(Stack)是一种后进先出(LIFO)的数据结构 Stack只有入栈和出栈的操作,常用方法有: (1)把元素压栈 ...
- 用两个栈实现队列(Java实现)
用两个栈实现队列 题目 剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整 ...
- 剑指Offer #05 用两个栈实现队列(模拟)
题目来源:牛客网-剑指Offer专题 题目地址:用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 题目解析 首先,我们需要知道一下基本知 ...
- 剑指offer第二版-9.用两个栈实现队列
描述:使用两个栈实现一个队列.队列中实现尾部插入和头部删除函数. 思路:stack1负责插入,stack2负责弹出,如果stack2为空了,将stack1的元素依次弹出并存放到stack2中,之后对s ...
- 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列
一.构建乘积数组: 1.题目: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*. ...
- 剑指Offe面试题:用两个栈实现队列
用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析 首先可以自己尝试使用1 2 3少量元素的入栈出栈摸索两个栈的使用,从特殊到一般 ...
最新文章
- 读博难?大神来支招!DeepMind科学家Ruder提出十条实用建议
- rancher中级(二)(rancher中添加证书及操作虚拟主机)
- 009_调色盘和高亮样式
- Excel宏的易错点
- 工作304:uni返回上一页面
- IP地址、子网掩码、网关、默认网关、DNS的理解
- 洛谷P2014【树形dp】
- 【Elasticsearch】使用Elasticsearch 7.8 快速搭建食谱搜索系统
- 福州大学软件工程1916|W班 第10、11次作业成绩排名
- oracle共享池的结构,Oracle 10g内存结构之共享池的相关知识及使用简介
- 计算机机房维护与管理,计算机机房的管理与维护.doc
- 二次元日系游戏制作工具 - live2dSDK入门教程
- Mybatis collection 递归查询并自动装填所有子节点(多参数查询传入参数方法)
- 对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会(转)...
- linux ubuntu 版本,ubuntu各版本的区别
- 你知道两台Linux之间如何传输文件吗?
- PermissionError: [Errno 13] Permission denied: ‘label.csv‘
- 安卓逆向——AS开发Xposed插件HOOK案例
- 未来五年,做淘宝电商不做好私域流量,将寸步难行!
- 用Java实现用户登录界面