開始挑戰 Linked-List 這個分類的題目,一樣是參考網路上已經有整理的 Leetcode 分类顺序表

參考的頻道或部落格條列如下,提供給大家參考:
YT:花花醬 / Cspiration 官方频道 / Jacob HuangbasketwangCoding今天比昨天厲害来Offer – LaiOffer小Q刷Leetcode
Blog:Grandyang

這篇基本上就是總覽,把解題過程的思路和參考的講解視頻以及其他參考資料都整理在下面。

[2020/12/18] 距離上次刷題又過了一個月,果然怠惰是人類大敵啊。這次從 Linked-List 開始,這個類別題數不多,希望2020前可以刷完。

No.完成日期難易度Leetcode Link網路講解視頻Memo
12020/12/18Medium2. Add Two Numbers給定兩 List ,每個 Node 分別代表一個位數,將兩 List 相加
因為剛好從最低位元開始排起,直接遍歷將兩 Node 相加,再考慮進位即可。
2Medium19. Remove Nth Node From End of List給定一 List,將倒數第N個移除
最前面加上 Dummy,處理一些 corner case,接著先掃一次找出 List 長度,再移動到第 Length – n 個,將前一個的 Next 指定成後面的即可。
3Easy206. Reverse Linked List反轉 Linked List
先定義一個 pre 初始化為 NULL 用來存前一個 Node,一個 cur 指定目前要處理的 Node,讓 Head 指向下一個要處理的位置。接著不停重複以下處理直到 cur = head = null,最後將 head 指到 pre 即可。
head = cur->next;
cur->next = pre;
pre = cur;
cur = head;
4Easy141. Linked List Cycle判斷 Linked List 是否有環
如果 Head 為 Null,直接回 false,宣告一個慢指針指向 Head,一個快指針指向 Head 下一個。
如果快慢指針相等,則表示找到環。不然繼續確認快指針&快指針下一個是否為空,如果為空則表示沒有環。否則慢指針走一步,快指針走兩步重複上面步驟。
5Medium24. Swap Nodes in Pairs
6
7
8
9
10

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料