剑指offer面试题7:用两个栈实现队列
2019-08-09 15:08
756 查看
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail 和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
import java.util.Stack; /** Stack.peek()与Stack.pop() peek():返回栈顶的值 ;不改变栈的值,查看栈顶的对象而不移除它。 pop():返回栈顶的值 ;会把栈顶的值删除。 poll():Queue(队列)的一个方法,获取并移除此队列的头,如果此队列为空,则返回null。 offer():队列的方法,往队尾插入元素。 */ public class Main5 { public static class Mlist<T>{ //插入栈 Stack<T> stack1 = new Stack<>(); //输出栈 Stack<T> stack2 = new Stack<>(); public void appendTail(T t){ stack1.add(t); } public T deleteHead(T t){ if(stack2.isEmpty()){ while(!stack1.isEmpty()){ stack2.add(stack1.pop()); } } if(stack2.isEmpty()){ throw new RuntimeException("没有数据"); } return stack2.pop(); } } }
相关文章推荐
- 剑指offer《面试题7:用两个栈实现队列》及用两个队列实现一个栈
- 剑指offer面试题 用两个栈实现队列
- 剑指offer:面试题9—用两个栈实现队列
- 剑指offer-面试题7-用两个栈实现队列
- C++笔试题(剑指offer 面试题7 两个栈实现队列)
- 《剑指Offer》面试题七之用两个栈实现队列
- 《剑指offer》【面试题七:用两个栈实现队列】
- 《剑指Offer》学习笔记--面试题7:用两个栈实现队列
- 《剑指Offer》面试题:用两个队列实现一个栈
- 面试题07_用两个栈实现队列——剑指offer系列
- 剑指Offer---面试题:使用两个栈实现队列
- 剑指Offer面试题:6.用两个栈实现队列
- 剑指offer面试题7——用两个栈实现队列
- 剑指Offer:面试题7——用两个栈实现队列(java实现)
- 剑指offer面试题7——用两个栈实现队列
- 《剑指Offer》面试题-用两个栈实现队列
- 剑指offer-面试题7:用两个栈实现队列
- 剑指Offer学习之面试题7:用两个栈实现队列
- 剑指offer面试题之用两个栈实现队列
- 剑指offer——面试题7:用两个栈实现队列