分析:核心思想是一个栈正向存储,另外一个栈逆向存储。正向存储的栈用来插入,逆向存储的栈用来删除。
实现的Java代码如下:
代码如下:
import java.util.Stack;
public class QueneWithTwoStacksE {
private StackE stack1;
private StackE stack2;
public void appendTail(E e) {
stack1.push(e);
}
public E deleteHead() throws Exception {
if (stack2.size() = 0) {
while (!stack1.isEmpty()) {
stack2.push(stack1.pop());
}
}
if (stack2.size() == 0) {
throw new Exception("Queue is empty!");
}
return stack2.pop();
}
}
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)