import java.util.Stack;
//用两个栈实现一个队列
public class StackToQueue {
//栈的特点:先进后出,队列的特点,先进先出。
//设计思路:倒栈
private Stack<Integer> stackLift = new Stack();
private Stack<Integer> stackRight = new Stack();
public void add(int in){
stackLift.push(in);
pushToRight();
}
private void pushToRight(){
//倒栈
if (stackRight.isEmpty()){
while (!stackLift.isEmpty()){
stackRight.push(stackLift.pop());
}
}
}
public int poll(){
pushToRight();
return (int) stackRight.pop();
}
public int peek(){
pushToRight();
return (int) stackRight.peek();
}
}
用两个栈(Stack)组成的队列(Queue)
最新推荐文章于 2023-05-24 11:32:42 发布