您當前的位置:首頁 > 書法

演算法小白的 LeetCode 刷題順序(持續更新20220303)

作者:由 Rocky0429 發表于 書法時間:2021-09-26

大家好,我是 Rocky0429。

大學的時候因為參加 ACM 的緣故,刷了三年題,從小白到 ACM 集齊金銀銅牌,中間經歷了很多困難。

今天來分享下自己總結的【

LeetCode 刷題順序

】,希望能幫助大家少走一些彎路。

這份清單我會一直更新,同樣也會一步步的把

每個知識點的入門講解

每道題的題解

用“圖解”的方式分享給大家。

站在初學者的角度,

用最直白的方式和最易懂的程式碼,最大可能摒除不同程式語言的帶來的干擾

,理論 + 實戰,帶你徹底搞定資料結構與演算法。

下面就是我為大家精心挑選的 LeetCode 題目清單,

按照知識點進行分類

,大家可以根據知識點,有針對性地刷題。

複雜度

精講:

資料結構

【陣列】

精講:

LeetCode27 移除元素:ACM 選手圖解 LeetCode 移除元素

LeetCode59 螺旋矩陣Ⅱ:ACM 選手圖解 LeetCode 模擬法解決螺旋矩陣Ⅱ

LeetCode209 長度最小的子陣列:ACM 選手玩轉 LeetCode 滑動視窗解決長度最小的子陣列

LeetCode977 有序陣列的平方:ACM 選手圖解 LeetCode 有序陣列的平方

【連結串列】

精講:

LeetCode19 刪除連結串列的倒數第 N 個節點

LeetCode24 交換連結串列:交換吧,連結串列!

LeetCode25 K 個一組翻轉連結串列

LeetCode141 環形連結串列:連結串列,你有環嘛?

LeetCode142 環形連結串列Ⅱ:有環連結串列,你的入口在哪?

LeetCode160 相交連結串列:對不起,相交連結串列,我做的有點不浪漫。

LeetCode206 反轉連結串列:反轉吧,連結串列!

LeetCode707 設計連結串列:穩了,一題學會連結串列的 5 種操作!

棧和佇列

精講:

LeetCode20 有效的括號:棧,你告訴我這個括號配不配!

LeetCode150 逆波蘭表示式求值:棧,求求這個逆波蘭表示式的值!

LeetCode225 用佇列實現棧:咋又要用佇列實現棧了嘛?!

LeetCode232 用棧實現佇列:用棧實現佇列怎麼樣?

LeetCode239 滑動視窗最大值:佇列,幫我搞一下這個滑動視窗最大值。

LeetCode703 資料流中的第 k 大元素

LeetCode1047 刪除字串中的所有相鄰重複項:棧,你給我玩這個字元消消樂!

字串

精講:

劍指 offer05 替換空格:字串,把這個礙眼的空格給我換掉!

劍指offer58-Ⅱ 左旋轉字串:字串,你朝左給我旋兒一個!

LeetCode151 翻轉字串裡的單詞:枯了,怎麼又和翻轉字串槓上了。。。

LeetCode344 反轉字串:反轉字串不是關鍵,重要的是我想說。。。

LeetCode541 反轉字串Ⅱ:這次反轉的字串,不簡單。

雜湊表

精講:

LeetCode1兩數之和:LeetCode 選手圖解 LeetCode 之高效雜湊求解兩數之和。

LeetCode15 三數之和:ACM 選手圖解 LeetCode 超高頻面試題三數之和

LeetCode49 字母異位詞分組

LeetCode 202 快樂數:ACM 選手圖解 LeetCode 快樂數。

LeetCode242 有效的字母異位詞:ACM 選手圖解力扣之有效的字母異位詞!

LeetCode349 兩個陣列的交集:ACM 選手圖解 LeetCode 之兩個陣列的交集

LeetCode383 贖金信:ACM 選手圖解 LeetCode 之贖金信。

LeetCode454 四數相加Ⅱ:ACM 選手圖解 LeetCode 四數相加Ⅱ

二叉樹

精講:

LeetCode 100 相同的樹:ACM 選手圖解 LeetCode 相同的樹

LeetCode101 對稱二叉樹:ACM 選手圖解 LeetCode 對稱二叉樹

LeetCode 104 二叉樹的最大深度:ACM 選手圖解 LeetCode 二叉樹的最大深度

LeetCode 110 平衡二叉樹

LeetCode 111 二叉樹的最小深度:ACM 選手圖解 LeetCode 二叉樹的最小深度

LeetCode 114。 二叉樹展開為連結串列

LeetCode 222 完全二叉樹的節點個數

LeetCode 226 翻轉二叉樹:ACM 選手圖解 LeetCode 翻轉二叉樹

LeetCode236 二叉樹的最近公共祖先

LeetCode 543 二叉樹的直徑

LeetCode 559 N叉樹的做大深度:ACM 選手圖解 LeetCode N 叉樹的最大深度

二叉樹遍歷

前中後序遍歷精講:

LeetCode 144 二叉樹的前序遍歷:

雙題解詳見上面兩篇文章

LeetCode 94:二叉樹的中序遍歷:

雙題解詳見上面兩篇文章

LeetCode 105 從前序與中序遍歷序列構造二叉樹:ACM 選手圖解 LeetCode 從前序與中序遍歷構造二叉樹

LeetCode 106 從中序和後序遍歷構造二叉樹:ACM 選手圖解 LeetCode 從中序與後序遍歷構造二叉樹

LeetCode 145:二叉樹的後序遍歷:

雙題解詳見上面兩篇文章

層次遍歷精講:

LeetCode 102 二叉樹的層次遍歷:

題解見上面文章

LeetCode 429 N叉樹的層次遍歷:ACM 選手圖解 LeetCode N 叉樹的層序遍歷

二叉搜尋樹

LeetCode96 不同的二叉搜尋樹

LeetCode98 驗證二叉搜尋樹

LeetCode235 二叉搜尋樹的最近公共祖先

演算法

KMP 演算法

精講:

LeetCode 28 實現 strStr():ACM 選手圖解 LeetCode 實現 strStr()

LeetCode 459 重複的子字串:ACM 選手圖解 LeetCode 重複的子字串

遞迴】

精講:

【分治】

精講:

LeetCode 50 Pow(x,n):ACM 選手圖解 LeetCode Pow(x,n)

LeetCode 169 多數元素:ACM 選手圖解 LeetCode 多數元素

【回溯

LeetCode 17 電話號碼的字母組合

LeetCode 22 括號生成

LeetCode 39 組合總和

LeetCode 46 全排列

LeetCode 78 子集

LeetCode 79 單詞搜尋

LeetCode 226 翻轉二叉樹

貪心演算法

LeetCode 11。 盛最多水的容器

LeetCode 55。 跳躍遊戲

LeetCode 122。 買賣股票的最佳時機 II

LeetCode 309。 最佳買賣股票時機含冷凍期

LeetCode 406。 根據身高重建佇列

LeetCode 714。 買賣股票的最佳時機含手續費

深度優先 & 廣度優先

LeetCode22 括號生成

LeetCode36 有效的數獨

LeetCode37 解數獨

LeetCode51 N皇后

LeetCode52 N皇后Ⅱ

LeetCode102 二叉樹的層次遍歷

LeetCode104 二叉樹的最大深度

LeetCode 111 二叉樹的最小深度

二分查詢

精講:

LeetCode33 搜尋旋轉排序陣列:ACM 選手圖解 LeetCode 搜尋旋轉排序陣列

LeetCode34 在排序陣列中查詢元素的第一個和最後一個位置:ACM 選手圖解 LeetCode 查詢元素在排序陣列的區間位置

leetCode35 搜尋插入的位置:ACM 選手圖解 LeetCode 搜尋插入位置

LeetCode69 實現 int sqrt(int x) 函式:ACM 選手圖解 LeetCode 算術平方根

LeetCode74 二位陣列中的二分查詢

LeetCode81 搜尋旋轉排序陣列 Ⅱ:ACM 選手圖解 LeetCode 搜尋旋轉排序陣列Ⅱ

LeetCode153 尋找旋轉陣列中的最小值:ACM 選手圖解 LeetCode 尋找旋轉排序陣列中的最小值

字典樹

LeetCode79 單詞搜尋

LeetCode208 實現 Trie(字首樹)

LeetCode212 單詞搜尋Ⅱ

位運算

LeetCode52 N皇后Ⅱ

LeetCode191 位1的個數

LeetCode231 2 的冪

LeetCode338 位元位計數

動態規劃

LeetCode70 爬樓梯

LeetCode72 編輯距離

LeetCode120 三角形最小路徑和

LeetCode121 買賣股票的最佳時機

LeetCode122 買賣股票的最佳時機Ⅱ

LeetCode123 買賣股票的最佳時機Ⅲ

LeetCode152 乘積最大子序列

LeetCode188 買賣股票的最佳時機 Ⅳ

LeetCode300 最長上升子序列

LeetCode309 買賣股票的最佳時機含冷凍期

LeetCode322 零錢兌換

LeetCode714 買賣股票的最佳時機含手續費

並查集

LeetCode200 島嶼的個數

LeetCode547 省份數量

不斷完善ing

,還是那句話,會慢慢的把圖解 LeetCode 的題解都更新上來,這是個長期的過程。

針對 LeetCode,題的解法有很多,我們往往追求的是最優解,這裡有一份

清華學長整理的 LeetCode 最優解

,強烈推薦:

我在大學的時候參加 ACM,拿過金銀銅獎,刷題貫穿了我的整個大學生涯,總結了一些

刷題的經驗

,感興趣的可以看下。

希望資料結構與演算法的學習不會成為你成功路上的絆腳石。

當然下面這些刷題網站相信也是你需要的~

1、線上的 SQL 刷題平臺

2、線上的 Python 做題類網站

標簽: LeetCode  ACM  二叉樹  圖解  選手