最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LeetCode-232-用棧實現(xiàn)隊列

2021-12-10 00:10 作者:雄獅虎豹  | 我要投稿

用棧實現(xiàn)隊列

題目描述:請你僅使用兩個棧實現(xiàn)先入先出隊列。隊列應(yīng)當(dāng)支持一般隊列支持的所有操作(push、pop、peek、empty):

實現(xiàn) MyQueue 類:

  • void push(int x) 將元素 x 推到隊列的末尾

  • int pop() 從隊列的開頭移除并返回元素

  • int peek() 返回隊列開頭的元素

  • boolean empty() 如果隊列為空,返回 true ;否則,返回 false

說明:

  • 你只能使用標(biāo)準(zhǔn)的棧操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。

  • 你所使用的語言也許不支持棧。你可以使用 list 或者 deque(雙端隊列)來模擬一個棧,只要是標(biāo)準(zhǔn)的棧操作即可。

示例說明請見LeetCode官網(wǎng)。

來源:力扣(LeetCode) ??

鏈接:https://leetcode-cn.com/problems/implement-queue-using-stacks/ ??

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

解法一:雙棧實現(xiàn)隊列

MyQueue的2個棧分別為inStack和outStack,inStack用來入隊列,outStack用來出隊列,幾個方法的主要實現(xiàn)邏輯如下:

  • push(int x):將x入棧inStack。

  • pop():如果棧outStack不為空,直接從outStack中出棧一個;如果outStack為空,則如果inStack不為空,將inStack的全部元素出棧并且入棧outStack,然后從棧outStack中出棧一個,如果inStack也為空,則拋出異常該隊列為空。

  • peek():如果棧outStack不為空,返回outStack的棧頂元素;如果outStack為空,則如果inStack不為空,將inStack的全部元素出棧并且入棧outStack,然后返回outStack的棧頂元素,如果inStack也為空,則拋出異常該隊列為空。

  • empty():如果inStack和outStack都為空,返回true;否則返回true。


【每日寄語】 每天吃一顆糖,然后告訴自己:今天的日子,果然又是甜的。



LeetCode-232-用棧實現(xiàn)隊列的評論 (共 條)

分享到微博請遵守國家法律
宁南县| 阿拉尔市| 长岭县| 铜山县| 公安县| 和龙市| 辰溪县| 平顶山市| 贵州省| 会东县| 万载县| 旅游| 定日县| 周口市| 新郑市| 新巴尔虎左旗| 泾阳县| 大庆市| 中江县| 藁城市| 无锡市| 赣州市| 平度市| 化隆| 克拉玛依市| 临洮县| 上蔡县| 陆川县| 宜春市| 洛川县| 岳普湖县| 汝城县| 青龙| 内黄县| 敦化市| 五峰| 从化市| 包头市| 财经| 乃东县| 漳浦县|