題目
用兩個棧實現一個隊列,隊列的聲明如下,請實現它的兩個函數appendTail
和deleteHead,分別完成在隊列尾部插入整數和在隊列頭部刪除整數的功能。
(若隊列中沒有元素,deleteHead返回-1)。
代碼
class CQueue {
private Stack<Integer> stackPush = new Stack<Integer>();
private Stack<Integer> stackPop = new Stack<Integer>();
public CQueue() {
}
public void appendTail(int value) {
stackPush.push(value);
}
public int deleteHead() {
if(stackPush.isEmpty() && stackPop.isEmpty()){
return -1;
}
if(stackPop.isEmpty()){
while(!stackPush.isEmpty()){
stackPop.push(stackPush.pop());
}
}
return stackPop.pop();
}
}