演算法小白的 LeetCode 刷題順序(持續更新20220303)
大家好,我是 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 做題類網站