剑指offer:面试题9—用两个栈实现队列
2019-06-06 08:52
501 查看
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解决:
当stack2不为空时,在stack2中的栈顶元素是最先进入队列的元素,可以弹出;
当stack2为空时,先将stack1中的元素逐个弹出并压入stack2,再弹出栈顶元素。
[code]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(); } }
注意:
pop()中,
[code]if(stack1.empty()&&stack2.empty()){ throw new RuntimeException("Queue is empty!"); }
相关题目:用两个队列实现栈...
相关文章推荐
- 剑指offer 面试题7 两个栈实现队列
- 《剑指Offer》面试题:用两个栈来实现一个队列
- 《剑指offer》(面试题7):用两个栈实现队列
- 剑指offer 面试题7 两个栈实现队列 java版答案
- 剑指Offer学习之面试题7:用两个栈实现队列
- 《剑指Offer》面试题七之用两个栈实现队列
- (剑指Offer)面试题7:用两个栈实现队列
- 《剑指offer》面试题7:用两个栈实现队列
- 剑指offer面试题7:用两个栈实现队列
- 《剑指Offer》面试题-用两个栈实现队列
- 剑指offer 面试题9 用两个栈实现队列
- 剑指Offer:面试题7——用两个栈实现队列(java实现)
- 《剑指Offer》学习笔记--面试题7:用两个栈实现队列
- 剑指Offer(第二版)面试题9:用两个栈实现队列
- 面试题07_用两个栈实现队列——剑指offer系列
- 剑指offer 面试题7:用两个栈实现队列 题解
- 剑指offer——面试题7:用两个栈实现队列
- 剑指offer《面试题7:用两个栈实现队列》及用两个队列实现一个栈
- 《剑指offer》面试题7—用两个栈实现队列
- 剑指offer面试题7(java实现):用两个栈实现队列