力扣 232 用棧實現佇列

2021-10-04 12:39:47 字數 816 閱讀 8571

一、題目描述:

使用棧實現佇列的下列操作:

示例:

myqueue queue = new myqueue();

queue.push(1)

;queue.push(2)

; queue.peek(

); // 返回 1

queue.pop(

); // 返回 1

queue.empty(

); // 返回 false

說明:

二、解題思路:

建立兩個棧a和b。棧a專門用來入佇列,棧b專門用來出佇列。

1、入佇列:把b中的所有元素轉到a中,讓新元素入棧a即可。

2、出佇列:把a中的所有元素轉到b中,讓b的棧頂元素出棧即可。

3、取隊首元素:把a中的所有元素轉到b中,b的棧頂元素就是隊首元素,讓b的棧頂元素出棧即可。

4、判空:a和b都為空。

三、**描述:

class

myqueue

a.push

(x);

}public integer pop()

while

(!a.

isempty()

)return b.

pop();

}public integer peek()

while

(!a.

isempty()

)return b.

peek()

;}public

boolean

empty()

}

棧 佇列 力扣 232 用棧實現佇列

實現myqueue類 說明 示例 1 輸入 myqueue push push peek pop empty 1 2 輸出 null,null,null,1,1,false 解釋 myqueue myqueue new myqueue myqueue.push 1 queue is 1 myqueu...

力扣232號題 用棧實現佇列

push x 將乙個元素放入佇列的尾部。pop 從佇列首部移除元素。peek 返回佇列首部的元素。empty 返回佇列是否為空。myqueue queue new myqueue queue.push 1 queue.push 2 queue.peek 返回 1 queue.pop 返回 1 que...

力扣 225 用佇列實現棧

一 題目描述 使用佇列實現棧的下列操作 注意 二 解題思路 建立兩個佇列a和b。入棧 將新元素直接入a佇列即可。出棧 將a中的元素轉到b中,當a中只有乙個元素時,出隊即可。然後交換a和b的身份。取棧頂元素 將a中的元素轉到b中,當a中只有乙個元素時,取出最後乙個元素出隊,然後將其入b佇列。然後交換a...