剑指offer--(5) 用两个栈实现队列
2017-09-16 13:16
134 查看
剑指offer–(5) 用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路描述:
1. 栈的工作过程为:先进后出;队列的工作过程为:先进先出;
2. 利用栈1进行入队操作,栈2进行出队操作
3. 当栈2为空时,将栈1中的元素依次出栈到2中,那么2中元素的出栈的顺序保持可以元素进入的顺序;
4. 注意:一定是栈2为空时,才将1中的元素出栈到2中,否则会影响元素的顺序。
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.isEmpty()){ while (!stack1.isEmpty()) { stack2.push(stack1.pop()); } } return stack2.pop(); } }
相关文章推荐
- 剑指offer 5 用两个栈实现队列
- 剑指Offer学习总结-用两个栈实现队列
- 【剑指offer】用两个栈实现队列
- 剑指offer(4) 两个栈实现队列
- 剑指Offer面试题7用两个栈实现队列
- 码农小汪-剑指Offer之8 - 两个栈实现队列
- 剑指Offer——(5)用两个栈实现队列
- 剑指offer--两个栈实现队列
- 剑指offer--两个栈实现一个队列
- 牛客网 - 剑指Offer - 考点:栈和队列 题目:用两个栈实现队列
- [九度1512 剑指offer7] 用两个栈实现队列
- [剑指offer]用两个栈实现队列
- 剑指offer 01-06解答思路以及代码(顺序数组找特定数字,替换空格字符,链表反转输出,重建二叉树,两个栈实现队列效果,旋转数组最小元素)
- 牛客网-剑指offer-05-用两个栈实现队列
- 【剑指offer-java版】5、用两个栈实现队列
- 剑指Offer-用两个栈实现队列
- 剑指offer--用两个栈实现队列
- 剑指offer---面试题7 用两个栈实现队列
- 剑指offer面试题7——用两个栈实现队列
- 剑指offer-用两个栈实现队列