用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
Stack<Integer> in = new Stack<>();
Stack<Integer> out = new Stack<>();
public void appendTail(int value) {
// 实现队列尾部插入
in.push(value);
}
public int deleteHead() {
// 从in栈中取出最后一个,加入到out栈中头部
// 然后由out栈进行pop
if(out.isEmpty()) {
while(!in.isEmpty()) {
out.push(in.pop());
}
}
if(out.isEmpty()) {
return -1;
}
return out.pop();
}












网友评论