用2個棧實現佇列

2021-10-12 16:35:31 字數 373 閱讀 2337

牛客網題目位址

public class solution 

public int pop()}

int ret = stack2.peek();

stack2.pop();

return ret;

}}

2個棧實現乙個佇列,由於佇列是先進先出,棧是先進後出的。

1.push方法入棧就是直接將資料push進stack1。

2.pop方法就要分情況,如果stack2為空,就把stack1的元素全都push進stack2,然後peek棧頂元素。如果stack2不為空,就直接peek棧頂元素就可以。

題目比較簡單,就是把棧1的元素輸入到棧2,就變成正向排序了。

用佇列實現棧 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。var cqueue function param value return this.stacka.push value return cqueue.prototype.deletehead function els...

用兩個棧實現佇列 用佇列實現棧

題目描述 示例 1 輸入 示例 2 輸入 思路 借用兩個棧,乙個為出棧,乙個為入棧,入棧只放入資料。當出棧為空時,將入棧中的資料全部放入到出棧中。class cqueue 時間複雜度o 1 void int value 時間複雜度o n intdeletehead int ret outstack....

用棧實現佇列 用佇列實現棧

棧的特點 filo firstinlastout 僅能從棧頂插入,刪除元素。最基本的介面包括push 從棧頂壓入元素 pop 從棧頂彈出元素 佇列的特點 fifo firstinfirstout 僅能從隊頭刪除元素,從隊尾插入元素。最基本的介面包括enque 從隊尾插入元素 deque 從隊頭刪除元...