劍指offer 雙棧形成佇列

2021-10-25 19:00:35 字數 514 閱讀 7394

class

myqueue

public

void

push

(int x)

stack1.

push

(x);

}//要考慮stack2的元素還沒有都取出去,就又新push新的元素的情況

public

intpop()

}return stack2.

pop();

}/*這裡要考慮的情況是,如果stack2的資料如果都取出去了,然後又新push了元

素,這個時候如果沒有pop就直接呼叫peek()方法,那麼return的應該是之前

push中的front元素*/

public

intpeek()

return front;

}//兩個stack都為空才說明所模擬的隊列為空

public

boolean

empty()

}

劍指offer 09 雙棧實現佇列

棧 先進後出 佇列 先進先出 列表元素 元素1 元素2,元素3 棧的格式 棧底 棧中 棧頂 佇列格式 隊首 隊中 隊尾 操作1 佇列的插入操作 插入元素4 相當於棧頂插入元素4,即對應於入棧操作。操作2 佇列刪除元素1,相當於在隊首刪除元素1,即刪除棧底元素1 但是,棧的插入與刪除都是在棧頂完成的,...

劍指offer05 雙棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。首先要知道棧和佇列的特性 棧 先進後出 佇列 先進先出 對於push操作,兩者都是將後來的元素放在後面 上面 對於pop操作,棧只能彈出最後來的元素,佇列只能彈出最先來的元素。因此,佇列的push操作直接呼叫棧的pus...

棧和佇列 劍指offer

題目 定義棧的資料結構,請在該型別中實現乙個能夠得到棧最小元素的 min函式。class solution def init self self.elem def push self,node def pop self return self.elem.pop def top self return...