用两个栈实现队列 (剑指Offer 第 5 题)
来源:互联网 发布:图灵出版社 java 编辑:程序博客网 时间:2024/06/09 13:49
题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解题思路:
两个 先进后出 实现一个 先进先出 的功能!
整个流程如上图所示:队列的push操作就是stack1的push操作;队列的pop操作,先要判断stack2中是否为空,若为空,将stack1中的所有元素都倒进来(必须所有,保证了顺序),然后在执行stack2的pop操作弹出即可,若不为空,直接将stack2中元素弹出即可。
具体实现如下:
Java代码实现:
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.push(node); } public int pop() { if(stack2.empty()){//判空 while(!stack1.empty()){//全部倒出 stack2.push(stack1.pop()); } } return stack2.pop(); }}
End
阅读全文
1 0
- 用两个栈实现队列 (剑指Offer 第 5 题)
- 剑指offer第7题 两个栈实现队列
- 剑指offer 编程题(5):两个栈实现队列,两个队列实现栈
- 剑指offer 编程题(5):两个栈实现队列,两个队列实现栈
- 剑指offer(5)-用两个栈实现队列
- 剑指offer--(5) 用两个栈实现队列
- [剑指offer]用两个栈实现队列
- 【剑指offer】用两个栈实现队列
- 剑指offer--用两个栈实现队列
- 剑指Offer-用两个栈实现队列
- 剑指offer:用两个栈实现队列
- 《剑指offer》用两个栈实现队列
- 用两个栈实现队列(剑指offer)
- 剑指 offer:用两个栈实现队列
- 【剑指Offer】用两个栈实现队列
- 剑指offer-用两个栈实现队列
- 《剑指offer》-用两个栈实现队列
- 剑指offer 用两个栈实现队列
- PHP消息队列实现及应用:队列处理订单系统和配送系统
- 《程序员修炼之道》第二章——A Pragmatic Approach
- Java String 小练习
- JavaScript 二分查找
- windows下nginx的安装及使用方法入门
- 用两个栈实现队列 (剑指Offer 第 5 题)
- 分布式事物
- 在sklearn.model_selection.GridSearchCV中使用自定义验证集进行模型调参
- I,B,P和dts,pts
- JAVA语言的优点
- 微信小程序的登录允许拒绝
- springmvc 框架中 用img标签展示本地磁盘的图片
- NDK 开发之 Socket 编程
- 各种安装包打包发布工具(安装制作工具)评测