题目
用两个栈来实现一个队列,完成队列的add和delete操作。 队列中的元素为int类型
分析
栈的数据结构特点:LIFO(Last Input First Output);队列数据结构特点:FIFO(First Input First Output)。要用两个栈实现队列思路:一个栈用于存储入队的数据即入队栈,另一个栈用于存储出队的数据即出队栈。当出队栈为空的时候,将入队栈数据复制到出队栈。
实现
import java.util.Stack;
public class Queue {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void add(int node) {
stack1.push(node);
}
public int delete() {
if (stack2.empty()){
while (!stack1.empty()){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}