232.用栈实现队列【简单】
1、思路
1、用两个栈来实现队列
2、一个栈是进栈inStack
3、一个栈是出栈outStack
4、其中我们自定义一个方法pushToOutStack()
5、这个方法的作用是将inStack中的数据放到outStack中
6、在peek()/pop()方法调用时,需要添加该自定义方法。用来保持队列的先进先出要求。
class MyQueue {
Stack inStack ;
Stack outStack;
public MyQueue() {
inStack = new Stack();
outStack = new Stack();
}
public void push(int x) {
inStack.push(x);
}
public int pop() {
if(outStack.isEmpty()){
pushToOutStack();
}
return outStack.pop();
}
public int peek() {
if(outStack.isEmpty()){
pushToOutStack();
}
return outStack.peek();
}
public boolean empty() {
boolean loop;
if(inStack.isEmpty() && (outStack.isEmpty())){
loop =true;
}else{
loop =false;
}
return loop;
}
public void pushToOutStack(){
if(!inStack.isEmpty()){
while(!inStack.isEmpty()){
outStack.push(inStack.pop());
}
}
}
}