用两个栈实现队列(剑指Offer)
2017-08-20 14:14
183 查看
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
先知道一个最基本的:队列先进先出,栈先进后出
解答:
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(stack1.empty()&&stack2.empty())
throw new RuntimeException("Queue is empty!");
if(stack2.empty()){
while(!stack1.empty())
stack2.push(stack1.pop());
}
return stack2.pop();
}
}
先知道一个最基本的:队列先进先出,栈先进后出
解答:
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(stack1.empty()&&stack2.empty())
throw new RuntimeException("Queue is empty!");
if(stack2.empty()){
while(!stack1.empty())
stack2.push(stack1.pop());
}
return stack2.pop();
}
}
相关文章推荐
- 剑指Offer_编程题 用两个栈实现队列
- 《剑指Offer》学习笔记--面试题7:用两个栈实现队列
- 剑指offer: 用两个栈实现队列
- 用两个栈实现队列——剑指offer
- 两个栈来实现一个队列 《剑指Offer》
- 《剑指Offer》用两个栈来实现队列
- 《剑指offer》面试题七 用两个栈实现队列
- 剑指offer系列之五:用两个栈实现队列
- 剑指Offer:面试题7——用两个栈实现队列(java实现)
- 《剑指offer》用两个栈实现队列
- 剑指offer面试题7:用两个栈实现队列
- 剑指offer——用两个栈来实现队列
- 剑指offer_用两个栈实现队列
- 《剑指Offer》面试题:用两个栈来实现一个队列
- JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
- 《剑指Offer》面试题-用两个栈实现队列
- 剑指Offer---面试题:使用两个栈实现队列
- 《剑指offer》牛客网java题解-用两个栈实现队列
- 用两个栈实现队列(剑指offer)
- C++笔试题(剑指offer 面试题7 两个栈实现队列)