力扣 225 用佇列實現棧

2021-10-04 12:37:44 字數 703 閱讀 6218

一、題目描述:

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

注意:二、解題思路:

建立兩個佇列a和b。

入棧:將新元素直接入a佇列即可。

出棧:將a中的元素轉到b中,當a中只有乙個元素時,出隊即可。然後交換a和b的身份。

取棧頂元素:將a中的元素轉到b中,當a中只有乙個元素時,取出最後乙個元素出隊,然後將其入b佇列。然後交換a和b的身份。

判空:a和b都為空即可。

三、**描述:

class

mystack

public integer pop()

while

(a.size()

>1)

int ret=a.

poll()

;swap()

;return ret;

}private

void

swap()

public integer top()

while

(a.size()

>1)

int ret=a.

poll()

; b.

offer

(ret)

;swap()

;return ret;

}public

boolean

empty()

}

力扣 225題用佇列實現棧

使用佇列實現棧的下列操作 push x 元素 x 入棧 pop 移除棧頂元素 top 獲取棧頂元素 empty 返回棧是否為空 注意 你只能使用佇列的基本操作 也就是 push to back,peek pop from front,size,和 is empty 這些操作是合法的。你所使用的語言也...

力扣簡單專欄 225 用佇列實現棧(雙解法)

請你僅使用兩個佇列實現乙個 先出 lifo 的棧,並支援普通佇列的全部四種操作 push top pop 和 empty 實現 mystack 類 void push int x 將元素 x 壓入棧頂。int pop 移除並返回棧頂元素。int top 返回棧頂元素。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...