答:不需要,只用刷下面這些題目就好了。
| 代碼隨想錄 | |||
|---|---|---|---|
| 1、數(shù)組 | 數(shù)組 | 二分查找 | 力扣 |
| 移除元素 | 力扣 | ||
| 有序數(shù)組的平方 | 力扣 | ||
| 長度最小的子數(shù)組 | 力扣 | ||
| 螺旋矩陣 Ⅱ | 力扣 | ||
| 2、鏈表 | 鏈表 | 移除鏈表元素 | 力扣 |
| 翻轉鏈表 | 力扣 | ||
| 兩兩交換鏈表中的節(jié)點 | 力扣 | ||
| 刪除鏈表的倒數(shù)第 N 個節(jié)點 | 力扣 | ||
| 鏈表相交 | 力扣 | ||
| 環(huán)形鏈表 Ⅱ | 力扣 | ||
| 3、哈希 | 哈希 | 有效字母異位詞 | 力扣 |
| 兩個數(shù)組的交集 | 力扣 | ||
| 快樂數(shù) | 力扣 | ||
| 兩數(shù)之和 | 力扣 | ||
| 四數(shù)相加 Ⅱ | 力扣 | ||
| 贖金信 | 力扣 | ||
| 三數(shù)之和 | 力扣 | ||
| 四數(shù)之和 | 力扣 | ||
| 4、字符串 | 字符串 | 反轉字符串 | 力扣 |
| 反轉字符串 Ⅱ | 力扣 | ||
| 替換數(shù)字 | 卡碼網(wǎng) | ||
| 翻轉字符串中的單詞 | 力扣 | ||
| 右旋轉字符串 | 卡碼網(wǎng) | ||
| 找出字符串中第一個匹配項的下標 | 力扣 | ||
| 重復的子字符串 | 力扣 | ||
| 5、棧與隊列 | 棧與隊列 | 用棧實現(xiàn)隊列 | 力扣 |
| 用隊列實現(xiàn)棧 | 力扣 | ||
| 有效括號序列 | 力扣 | ||
| 刪除字符串的相鄰重復項 | 力扣 | ||
| 逆波蘭表達式求值 | 力扣 | ||
| 滑動窗口最大值 | 力扣 | ||
| 前 K 個高頻元素 | 力扣 | ||
| 6、二叉樹 | 二叉樹的遍歷方式 | 二叉樹的遞歸遍歷(前、中、后序) | 力扣 |
| 二叉樹的迭代遍歷(前、中、后序) | 力扣 | ||
| 二叉樹的層序遍歷 | 力扣 | ||
| 二叉樹的層序遍歷 Ⅱ | 力扣 | ||
| 二叉樹的右視圖 | 力扣 | ||
| 二叉樹的層平均值 | 力扣 | ||
| N 叉樹的層序遍歷 | 力扣 | ||
| 在每個樹行中找最大值 | 力扣 | ||
| 填充每個節(jié)點的下一個右側節(jié)點指針 | 力扣 | ||
| 二叉樹的屬性 | 對稱二叉樹 | 力扣 | |
| 二叉樹的最大深度 | 力扣 | ||
| 二叉樹的最小深度 | 力扣 | ||
| 完全二叉樹的節(jié)點個數(shù) | 力扣 | ||
| 平衡二叉樹 | 力扣 | ||
| 二叉樹 | 力扣 | ||
| 二叉樹的所有路徑 | 力扣 | ||
| 左葉子之和 | 力扣 | ||
| 找樹左下角的值 | 力扣 | ||
| 路徑總和 | 力扣 | ||
| 路徑總和 Ⅱ | 力扣 | ||
| 二叉樹的修改與構造 | 翻轉二叉樹 | 力扣 | |
| 從中序與后序構造二叉樹 | 力扣 | ||
| 從前序與中序構造二叉樹 | 力扣 | ||
| 最大二叉樹 | 力扣 | ||
| 合并二叉樹 | 力扣 | ||
| 二叉搜索樹的屬性 | 二叉搜索樹中的搜索 | 力扣 | |
| 驗證二叉搜索樹 | 力扣 | ||
| 二叉搜索樹的最小絕對差 | 力扣 | ||
| 二叉搜索樹中的眾數(shù) | 力扣 | ||
| 把二叉搜索樹轉換為累加樹 | 力扣 | ||
| 二叉搜索樹的修改與構造 | 二叉搜索樹中的插入操作 | 力扣 | |
| 刪除二叉搜索樹中的節(jié)點 | 力扣 | ||
| 修剪二叉搜索樹 | 力扣 | ||
| 將有序數(shù)組轉換為二叉搜索樹 | 力扣 | ||
| 二叉樹的公共祖先問題 | 二叉樹的最近公共祖先 | 力扣 | |
| 二叉搜索樹的最近公共祖先 | 力扣 | ||
| 7、回溯算法 | 組合問題 | 組合 | 力扣 |
| 組合總和 Ⅲ | 力扣 | ||
| 電話號碼的字母組合 | 力扣 | ||
| 組合總和 | 力扣 | ||
| 組合總和 Ⅱ | 力扣 | ||
| 切割問題 | 分割回文串 | 力扣 | |
| 復原 IP 地址 | 力扣 | ||
| 子集問題 | 子集 | 力扣 | |
| 子集 Ⅱ | 力扣 | ||
| 遞增子序列 | 力扣 | ||
| 排列問題 | 無重復項的全排列 | 力扣 | |
| 有重復項的全排列 | 力扣 | ||
| 棋盤問題 | N 皇后 | 力扣 | |
| 解數(shù)獨 | 力扣 | ||
| 重新安排行程 | 力扣 | ||
| 8、貪心算法 | 簡單問題 | 分發(fā)餅干 | 力扣 |
| K 次取反后最大化數(shù)組和 | 力扣 | ||
| 檸檬水找零 | 力扣 | ||
| 中等問題 | 擺動序列 | 力扣 | |
| 單調遞增的數(shù)字 | 力扣 | ||
| 買賣股票的最佳時機 Ⅱ | 力扣 | ||
| 買賣股票的最佳時機含手續(xù)費 | 力扣 | ||
| 分發(fā)糖果 | 力扣 | ||
| 根據(jù)身高重建隊列 | 力扣 | ||
| 困難問題 | 跳躍游戲 | 力扣 | |
| 跳躍游戲 Ⅱ | 力扣 | ||
| 用最少數(shù)量的箭引爆氣球 | 力扣 | ||
| 無重疊區(qū)間 | 力扣 | ||
| 劃分字母區(qū)間 | 力扣 | ||
| 合并區(qū)間 | 力扣 | ||
| 最大子序和 | 力扣 | ||
| 加油站 | 力扣 | ||
| 監(jiān)控二叉樹 | 力扣 | ||
| 9、動態(tài)規(guī)劃 | 動態(tài)規(guī)劃基礎 | 斐波那契數(shù)列 | 力扣 |
| 爬樓梯 | 力扣 | ||
| 使用最小花費爬樓梯 | 力扣 | ||
| 不同路徑 | 力扣 | ||
| 不同路徑 Ⅱ | 力扣 | ||
| 整數(shù)拆分 | 力扣 | ||
| 不同的二叉搜索樹 | 力扣 | ||
| 背包問題系列 | 分割等和子集 | 力扣 | |
| 最后一塊石頭的重量 Ⅱ | 力扣 | ||
| 目標和 | 力扣 | ||
| 一和零 | 力扣 | ||
| 零錢兌換 Ⅱ | 力扣 | ||
| 組合總和 Ⅳ | 力扣 | ||
| 爬樓梯(進階版) | 卡碼網(wǎng) | ||
| 零錢兌換 | 力扣 | ||
| 完全平方數(shù) | 力扣 | ||
| 單詞拆分 | 力扣 | ||
| 打家劫舍系列 | 打家劫舍 | 力扣 | |
| 打家劫舍 Ⅱ | 力扣 | ||
| 打家劫舍 Ⅲ | 力扣 | ||
| 股票序列 | 買賣股票的最佳時機 | 力扣 | |
| 買賣股票的最佳時機 Ⅱ | 力扣 | ||
| 買賣股票的最佳時機 Ⅲ | 力扣 | ||
| 買賣股票的最佳時機 Ⅳ | 力扣 | ||
| 買賣股票的最佳時機含冷凍期 | 力扣 | ||
| 買賣股票的最佳時機含手續(xù)費 | 力扣 | ||
| 子序列系列 | 最長遞增子序列 | 力扣 | |
| 最長公共子序列 | 力扣 | ||
| 不相交的線 | 力扣 | ||
| 兩個字符串的刪除操作 | 力扣 | ||
| 最長連續(xù)遞增序列 | 力扣 | ||
| 最長重復子數(shù)組 | 力扣 | ||
| 最大子數(shù)組和 | 力扣 | ||
| 判斷子序列 | 力扣 | ||
| 不同的子序列 | 力扣 | ||
| 編輯距離 | 力扣 | ||
| 回文子串 | 力扣 | ||
| 最長回文子序列 | 力扣 | ||
| 10、圖論 | 深搜與廣搜 | 所有可達路徑 | 卡碼網(wǎng) |
| 島嶼數(shù)量 | 卡碼網(wǎng) | ||
| 島嶼的最大面積 | 卡碼網(wǎng) | ||
| 孤島的總面積 | 卡碼網(wǎng) | ||
| 沉沒孤島 | 卡碼網(wǎng) | ||
| 水流問題 | 卡碼網(wǎng) | ||
| 建造最大島嶼 | 卡碼網(wǎng) | ||
| 字符串接龍 | 卡碼網(wǎng) | ||
| 有向圖的完全可達性 | 卡碼網(wǎng) | ||
| 島嶼的周長 | 卡碼網(wǎng) | ||
| 并查集 | 尋找存在的路徑 | 卡碼網(wǎng) | |
| 冗余連接 | 卡碼網(wǎng) | ||
| 冗余連接 Ⅱ | 卡碼網(wǎng) | ||
| 最小生成樹 | prim 算法 | 卡碼網(wǎng) | |
| kruskal 算法 | 卡碼網(wǎng) | ||
| 拓撲排序 | 拓撲排序 | 卡碼網(wǎng) | |
| 最短路徑算法 | dijkstra 算法(原始) | 卡碼網(wǎng) | |
| dijkstra 算法(優(yōu)化) | 卡碼網(wǎng) | ||
| Bellman-ford 算法(原始) | 卡碼網(wǎng) | ||
| Bellman-ford 算法(優(yōu)化) | 卡碼網(wǎng) | ||
| Bellman-ford 算法(判斷負權回路) | 卡碼網(wǎng) | ||
| 單源有限最短路 | 卡碼網(wǎng) | ||
| Floyd 算法 | 卡碼網(wǎng) | ||
| A * 算法 | 卡碼網(wǎng) | ||
| 11、單調棧 | 單調棧 | 每日溫度 | 力扣 |
| 下一個更大元素 | 力扣 | ||
| 下一個更大元素 Ⅱ | 力扣 | ||
| 接雨水 | 力扣 | ||
| 柱狀圖中最大的矩形 | 力扣 |
| ??蚑op101 | |
|---|---|
| 1、鏈表 | 反轉鏈表 |
| 鏈表內指定區(qū)間反轉 | |
| 合并兩個排序的鏈表 | |
| 合并 k 個已排序的鏈表 | |
| 判斷鏈表中是否有環(huán) | |
| 鏈表中環(huán)的入口結點 | |
| 鏈表中倒數(shù)最后 k 個結點 | |
| 兩個鏈表的第一個公共結點 | |
| 鏈表相加(二) | |
| 單鏈表的排序 | |
| 判斷一個鏈表是否為回文結構 | |
| 鏈表的奇偶重排 | |
| 刪除有序鏈表的重復元素(1) | |
| 刪除有序鏈表的重復元素(2) | |
| 2、二分查找、排序 | 二分查找 |
| 二分查找 II | |
| 尋找峰值 | |
| 數(shù)組中的逆序對 | |
| 旋轉數(shù)組的最小數(shù)字 | |
| 比較版本號 | |
| 排序數(shù)組 | |
| 3、二叉樹 | 二叉樹的前序遍歷 |
| 二叉樹的中序遍歷 | |
| 二叉樹的后序遍歷 | |
| 二叉樹的層序遍歷 | |
| 填充每個節(jié)點的下一個右側節(jié)點指針 II | |
| 二叉樹的最大深度 | |
| 二叉搜索樹與雙向鏈表 | |
| 合并二叉樹 | |
| 翻轉二叉樹 | |
| 判斷是不是二叉搜索樹 | |
| 判斷是不是完全二叉樹 | |
| 判斷是不是平衡二叉樹 | |
| 二叉樹的最近公共祖先 | |
| 二叉搜索樹的最近公共祖先 | |
| 序列化二叉樹 | |
| 重建二叉樹 | |
| 輸出二叉樹的右視圖 | |
| 4、堆、棧、隊列 | 用兩個棧實現(xiàn)隊列 |
| 包含min函數(shù)的棧 | |
| 有效括號序列 | |
| 滑動窗口最大值 | |
| 最小的 K 個數(shù) | |
| 尋找第 K 大 | |
| 數(shù)據(jù)流中的中位數(shù) | |
| 表達式求值 | |
| 5、哈希、貪心 | 字符串中的第一個唯一字符 |
| 數(shù)組中出現(xiàn)次數(shù)超過一半的數(shù)字 | |
| 數(shù)組中只出現(xiàn)一次的兩個數(shù)字 | |
| 缺失的第一個正整數(shù) | |
| 缺失的第 k 個正整數(shù) | |
| 主持人調度(二) | |
| 最長回文子串 | |
| 合并區(qū)間、medium | |
| 6、遞歸、回溯 | 無重復項的全排列 |
| 有重復項的全排列 | |
| 島嶼數(shù)量 | |
| 字符串的排列 | |
| 復原 IP 地址 | |
| 括號生成 | |
| 矩陣最長遞增路徑 | |
| 7、動態(tài)規(guī)劃 | 斐波那契數(shù)列 |
| 跳臺階 | |
| 最小花費爬樓梯 | |
| 最長公共子序列(二) | |
| 最長公共子串 | |
| 不同路徑的數(shù)目 | |
| 矩陣的最小路徑和 | |
| 把數(shù)字翻譯成字符串 | |
| 兌換零錢 | |
| 最長上升子序列(一) | |
| 最大子數(shù)組和 | |
| 編輯距離(一) | |
| 打家劫舍(一) | |
| 打家劫舍(二) | |
| 8、字符串、雙指針 | 字符串變形 |
| 最長公共前綴 | |
| 驗證 IP 地址 | |
| 大數(shù)加法 | |
| 下一個排列 | |
| 判斷是否為回文字符串 | |
| 反轉字符串 | |
| 最長無重復子數(shù)組 | |
| 盛水最多的容器 | |
| 9、模擬 | 旋轉數(shù)組 |
| 最大的兩個數(shù) | |
| 順時針旋轉矩陣 | |
| 設計 LRU 緩存結構 | |
| 設計 LFU 緩存結構 | |
| 把數(shù)字字符串轉化成 IP 地址 | |
| 掃雷游戲 | |
| 多線程交替打印ABC |