剑指 offer 面试题 7 : 用两个栈来实现队列
2016-08-04 00:00
288 查看
摘要: 剑指 offer 面试题 7 : 用两个栈来实现队列 实现添加和删除元素的方法
测试:
结果:
1234
56
public class Queue { private Stack<Object> stack1 = new Stack<>(); private Stack<Object> stack2 = new Stack<>(); //添加元素的方法, public void add(Object obj){ stack1.push(obj); } //获取并移除此队列的头,如果此队列为空,则返回 null。 public Object poll(){ if (stack2.size() <= 0) { while( stack1.size() > 0){ Object obj = stack1.pop(); stack2.push(obj); } } if (stack2.size() == 0) { return null; }else { Object obj = stack2.pop(); return obj; } } }
测试:
public static void main(String[] args) throws Exception { Queue queue = new Queue(); queue.add(1); queue.add(2); queue.add(3); queue.add(4); queue.add(5); for (int i = 0; i < 4; i++) {//取出队列中前4个元素,还剩下元素 5. Object obj = queue.poll(); System.out.print(obj); } System.out.println(); queue.add(6);//再往队列中添加一个元素 for (int i = 0; i < 2; i++) {//5,6 还是按照先进先出的顺序打印元素 Object obj = queue.poll(); System.out.print(obj); } }
结果:
1234
56
相关文章推荐
- 剑指offer面试题7:用两个栈实现队列
- 剑指offer面试题7——用两个栈实现队列
- 面试题-剑指offer-两个栈实现队列
- 剑指offer编程题Java实现——面试题7用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 剑指offer面试题7:用两个栈实现队列(Java实现)
- 剑指Offer----面试题七:用两个栈实现队列
- 剑指offer之面试题7用两个栈实现一个队列
- 剑指offer-面试题07-用两个栈实现队列
- 【剑指offer】面试题07:用两个栈实现队列
- 剑指Offer:面试题7 用两个栈实现队列
- 剑指Offer面试题7(Java版):用两个栈实现队列与用两个队列实现栈
- 剑指offer——面试题7:用两个栈实现队列
- 剑指Offer面试题7用两个栈实现队列
- [剑指offer]面试题7:用两个栈实现队列
- 剑指Offer面试题7:用两个栈实现队列 Java实现
- [剑指offer][面试题07]用两个栈实现队列
- 剑指offer-->面试题7 用两个栈实现队列
- 【练习笔记】剑指offer-面试题7 :用两个栈实现队列