如何使用两个栈实现队列Java
2020-02-13 13:14
906 查看
这篇文章主要介绍了如何使用两个栈实现队列Java,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
题目
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题解
描述
栈的特性是先进后出,队列的特点是先进先出,当数字依次入栈1后,依次出栈1并且压入栈2后,然后再出栈的顺序与进入栈1的顺序是一致的。
因此,进入队列通过压入栈1实现,弹出队列通过弹出栈2的栈顶元素实现,在弹出元素时需要保证当前栈弹出元素的顺序和队列弹出元素的顺序一致,即栈1的元素应当全部压入到栈2中。
code
import java.util.Stack; public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { //直接入stack1栈 stack1.push(node); } public int pop() { //若stack2为空 if(stack2.isEmpty()){ while(!stack1.isEmpty()){ stack2.push(stack1.pop()); } } return stack2.pop(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- 【题目5】如何使用两个栈来实现一个队列
- java web开发中,jsp使用了frameset框架,如何实现整个页面跳转,并且同一个表单中可以提交两个action
- Java:如何用两个队列实现栈
- java 使用两个栈实现队列
- 数据结构与算法分析(Java 语言描述)(35)—— 使用两个栈实现一个队列
- 面试/算法--使用两个栈来实现队列--java
- 教你如何使用Java手写一个基于数组实现的队列
- java使用两个栈模拟队列的实现
- Java:如何利用两个栈实现队列
- 第十九题:如何使用队列实现栈结构(Java)
- 数据结构与算法分析(Java 语言描述)(36)—— 使用两个队列实现一个栈
- 如何在不使用第三方变量的前提下,交换两个变量的值 (Java实现)
- 如何用两个栈实现一个队列
- Linux系统中,有两个文件file1和file2,每个文件的每一行都是#UUID,其中的每一UUID表示一个号。要找出在file1中有而在file2中没有的UUID,使用cat,sort,uniq三个命令如何实现
- 使用两个Stack类(JDK容器类库中的Stack类)实现一个队列类MyQueue,提供队列的入队列和出队列操作:enQueue和deQueue
- Zookeeper 进阶之——Zookeeper编程示例(如何使用Zookeeper实现屏障Barriers和队列Queues)...
- Java使用阻塞队列BlockingQueue实现线程同步
- Java初学者如何迈出AOP第一步--使用Java 动态代理实现AOP
- java使用数组和链表实现队列示例
- 用两个栈实现一个队列的功能,用Java实现