《剑指offer》编程题java实现(十六):用两个栈实现队列
2018-03-10 17:09
405 查看
问题描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路
其实很简单就是利用两个栈来实现;栈1和栈2;
加入:元素加入的时候都加入栈1。
删除:如果栈2为空,首先将栈1的元素全部弹入到栈2中,再从栈2弹出即可。
代码实现
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路
其实很简单就是利用两个栈来实现;栈1和栈2;
加入:元素加入的时候都加入栈1。
删除:如果栈2为空,首先将栈1的元素全部弹入到栈2中,再从栈2弹出即可。
代码实现
package com.nowcoder; import java.util.Stack; public class ImlpOfQueue { 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.isEmpty()) { while(!stack1.isEmpty()) { stack2.push(stack1.pop()); } } if (stack2.isEmpty()) { return 0; } return stack2.pop(); } }
相关文章推荐
- 《剑指offer》牛客网java题解-用两个栈实现队列
- 剑指offer——用两个栈实现队列(Java)
- 剑指Offer(Java版):用两个栈实现队列与用两个队列实现栈
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
- 剑指offer(java代码)——用两个栈实现队列
- 剑指offer 面试题7 两个栈实现队列 java版答案
- 《剑指offer》编程题java实现(二十二):两个链表的第一个公共节点
- 《剑指offer》编程题java实现(十一):数组中只出现一次的两个数字
- 剑指offer-Java-用两个栈实现队列
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
- 剑指offer 编程题(5):两个栈实现队列,两个队列实现栈
- 《剑指Offer》用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。java
- 剑指Offer:面试题7——用两个栈实现队列(java实现)
- 《剑指offer》编程题java实现(十七):合并两个排序的链表
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
- 《剑指offer》用两个队列实现栈 Java版实现
- 剑指Offer_编程题 用两个栈实现队列
- 剑指offer编程题Java实现——面试题7用两个栈实现队列
- 剑指offer面试题7(java实现):用两个栈实现队列
- 剑指offer《面试题7:用两个栈实现队列》及用两个队列实现一个栈