c++数据结构中 顺序队列的队首队尾_yiduobo的每日leetcode 622.设计循环队列
生活随笔
收集整理的這篇文章主要介紹了
c++数据结构中 顺序队列的队首队尾_yiduobo的每日leetcode 622.设计循环队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
祖傳的手藝不想丟了,所以按順序寫一個leetcode的題解。計劃每日兩題,爭取不卡題吧。
622.設計循環隊列https://leetcode-cn.com/problems/design-circular-queue/
題目要求實現循環隊列,具體為插入、刪除、獲取隊首或隊尾元素值這幾種操作。隊列是先進先出,因此插入需要我們維護隊尾元素,而刪除則需要維護隊首元素,恰好與獲取隊首隊尾元素重疊。
由于題目沒有要求我們展現出“循環”這個性質,因此我們只需要想辦法維護住隊首和隊尾即可,而最簡單的做法就是維護一條單鏈表的頭尾節點。
對于插入操作,我們新建一個節點。若當前鏈表為空,那么將頭尾節點都置為該節點,否則將尾結點的next指向當前結點,然后將尾結點置為該節點。
對于刪除操作,若鏈表中只有一個元素,那么將頭尾節點都置為空,否則將頭結點置為頭結點的next節點,然后刪去原先的頭結點。
最后附上python代碼:
class總結
以上是生活随笔為你收集整理的c++数据结构中 顺序队列的队首队尾_yiduobo的每日leetcode 622.设计循环队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卫衣三件套(秋冬卫衣套装要火!)
- 下一篇: WebMvcConfigurer