package offer;
import java.util.Stack;
public class TwoStackToQueue {
public static void main(String[] args) throws Exception {
TwoStackToQueue twoStackToQueue = new TwoStackToQueue();
twoStackToQueue.add(1);
twoStackToQueue.add(2);
twoStackToQueue.add(3);
twoStackToQueue.add(4);
twoStackToQueue.add(5);
System.out.println(twoStackToQueue.removeHead());
System.out.println(twoStackToQueue.removeHead());
System.out.println(twoStackToQueue.removeHead());
System.out.println(twoStackToQueue.removeHead());
System.out.println(twoStackToQueue.removeHead());
System.out.println(twoStackToQueue.removeHead());
}
Stack<Integer> stack1 = new Stack<>();
Stack<Integer> stack2 = new Stack<>();
// 没有考虑容量问题
public void add(int element) {
stack1.push(element);
}
// 移除头部
public int removeHead() throws Exception {
if (stack2.empty()) {
while (!stack1.empty()) {
int tmp = stack1.pop();
stack2.push(tmp);
}
}
if (stack2.empty())
throw new Exception("No element in queue!!");
return stack2.pop();
}
}
java 实现 两个栈实现一个队列的功能
最新推荐文章于 2024-07-10 22:06:07 发布