【剑指offer】面试题07:用两个栈实现队列
来源:互联网 发布:用友软件云南总代理 编辑:程序博客网 时间:2024/06/05 08:49
题目
用两个栈来实现一个队列,完成队列的push和pop操作。 队列中的元素为int类型。
思路
- 栈:先进后出
- 队列:先进先出
其实知道了栈和队列的特点这道题就很容易了,思路也就不多说了,直接看代码实现就可以理解。
代码实现
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(stack1.isEmpty()&&stack2.isEmpty()){ throw new RuntimeException("Queue is empty!"); } //stack2为空时,将stack1中的元素压入stack2 //stack2不为空时,新压入stack1的元素是无法被压入stack2的,保证了出队列的顺序 if(stack2.isEmpty()){ while(!stack1.isEmpty()){ stack2.push(stack1.pop()); } } return stack2.pop(); }}
注:运行环境——牛客网OJ。
阅读全文
0 0
- [剑指offer][面试题07]用两个栈实现队列
- 剑指offer-面试题07-用两个栈实现队列
- 【剑指offer】面试题07:用两个栈实现队列
- 剑指offer-->面试题7 用两个栈实现队列
- 《剑指Offer》面试题-用两个栈实现队列
- 《剑指offer》面试题七 用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 剑指Offer:面试题7 用两个栈实现队列
- 《剑指Offer》面试题7:用两个栈实现队列
- 【剑指offer】 面试题7: 用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 《剑指Offer》面试题:用两个队列实现一个栈
- 剑指offer-面试题7:用两个栈实现队列
- 剑指offer面试题之用两个栈实现队列
- 剑指offer面试题 用两个栈实现队列
- 剑指Offer----面试题七:用两个栈实现队列
- 剑指offer---面试题7 用两个栈实现队列
- 剑指offer面试题7:用两个栈实现队列
- 【java面试】框架篇之Spring
- 卡尔的中二台词
- python 变量 赋值 运算符
- ATF EL3 Runtime Service
- android相对布局中编辑框与文本框对其问题
- 【剑指offer】面试题07:用两个栈实现队列
- shell和awk之间互传参数
- dmidecode查看linux硬件信息
- java操作:mysql数据库导入、导出
- 初步使用HttpClient
- Dubbo实战(一)快速入门
- 283. Move Zeroes
- Vue2.0 事件发射与接收
- windows命令行能连上ftp,但是资源管理器连接报550