09.用兩個棧實現隊列

題目

		用兩個棧實現一個隊列,隊列的聲明如下,請實現它的兩個函數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();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章