所有題目源代碼地址:
Leetcode Java版學習記錄彙總
- 便於查詢
Java版題目列表:
題號 | 題目 | 思想或類型 |
---|---|---|
1 | 兩數之和 | 暴力破解 |
2 | 兩數相加 | 單項鍊表 |
3 | 無重複字符的最長子串 | HashMap |
4 | 尋找兩個有序數組的中位數 | 數組、雙指針 |
5 | 最長迴文子串 | 數組、雙指針 |
6 | Z 字形變換 | 數組 |
7 | 整數翻轉 | |
8 | 字符串轉換整數 (atoi) | 字符串 |
9 | 迴文數 | |
10 | 正則表達式匹配 | 遞歸 |
11 | 盛最多水的容器 | 數組、雙指針 |
12 | 整數轉羅馬數字 | HashMap |
13 | 羅馬數字轉整數 | HashMap |
14 | 最長公共前綴 | 暴力破解 |
15 | 三數之和 | 數組、三指針 |
16 | 最接近的三數之和 | 數組、三指針 |
17 | 電話號碼的字母組合 | 暴力破解 |
18 | 四數之和 | 數組、四指針 |
19 | 刪除鏈表的倒數第N個節點 | 鏈表 |
20 | 有效的括號 | 棧 |
21 | 合併兩個有序鏈表 | 鏈表 |
22 | 括號生成 | DFS |
23 | 合併K個排序鏈表 | 分治思想 |
24 | 兩兩交換鏈表中的節點 | 鏈表 |
25 | K 個一組翻轉鏈表 | 鏈表 |
26 | 刪除排序數組中的重複項 | 暴力破解 |
27 | 移除元素 | 暴力破解 |
28 | 實現 strStr() | 字符串 |
29 | 兩數相除 | 二分查找、位運算 |
30 | 串聯所有單詞的子串 | 暴力破解 |
31 | 下一個排列 | 數組、二分查找、快排 |
32 | 最長有效括號 | 棧 |
33 | 搜索旋轉排序數組 | 二分法 |
34 | 在排序數組中查找元素的第一個和最後一個位置 | 二分法 |
35 | 搜索插入位置 | 二分 |
36 | 有效的數獨 | 暴力破解 |
37 | 組合總和 | 回溯 |
38 | 外觀數列 | 遞歸、StringBuilder |
39 | 組合總和 | 遞歸、DFS、ArrayDeque |
40 | 組合總和II | 遞歸、DFS、ArrayDeque |
41 | 缺失的第一個正數 | 快排、數組 |
42 | 接雨水 | 動態規劃、雙指針 |
43 | 字符串相乘 | 字符數組 |
44 | 通配符匹配 | 動態規劃 |
45 | 跳躍遊戲 II | 貪心算法 |
46 | 全排列 | DFS |
47 | 全排列II | DFS+剪枝 |
48 | 旋轉圖像 | 數組 |
49 | 字母異位詞分組 | HashMap |
50 | Pow(x, n) | 遞歸 |
51 | N皇后 | 回溯 |
52 | N皇后II | 回溯 |
53 | 有效的數獨最大子序和 | 貪心算法、動態規劃 |
54 | 螺旋矩陣 | 數組 |
55 | 跳躍遊戲 | 暴力破解 |
56 | 合併區間 | lamda表達式、二維數組排序 |
57 | 插入區間 | 數組 |
58 | 最後一個單詞的長度 | 數組 |
59 | 螺旋矩陣II | 數組 |
60 | 第k個排列 | StringBuilder、遞歸 |
61 | 旋轉鏈表 | 鏈表 |
62 | 不同路徑 | 排列組合、動態規劃 |
63 | 不同路徑 II | 動態規劃 |
64 | 最短路徑 | 動態規劃 |
65 | 有效數字 | 有限自動機DFS |
66 | 加一 | 數組 |
67 | 二進制求和 | char運算(ASCII?) |
68 | 文本左右對齊 | 字符串數組 |
69 | x 的平方根 | 快排 |
70 | 爬樓梯 | 動態規劃 |
71 | 簡化路徑 | 棧 |
72 | 編輯距離 | 動態規劃、字符串 |
73 | 矩陣置零 | 數組 |
74 | 搜索二維矩陣 | 數組、二分法 |
75 | 顏色分類 | 數組、三指針、快排 |
76 | 最小覆蓋子串 | 數組、雙指針、滑動窗口 |
77 | 組合 | 遞歸 |
78 | 子集 | 回溯 |
79 | 單詞搜索 | 回溯 |
80 | 刪除排序數組中的重複項 II | 數組、雙指針 |
81 | 搜索旋轉排序數組 II | 數組、二分法 |
82 | 刪除排序鏈表中的重複元素II | 單鏈表 |
83 | 刪除排序鏈表中的重複元素 | 單鏈表 |
86 | 分隔鏈表 | 單鏈表 |
88 | 分隔鏈表 | 數組 |
90 | 子集 II | 回溯+去重 |
91 | 解碼方法 | 動態規劃 |
94 | 二叉樹的中序遍歷 | 遞歸、迭代、棧 |
101 | 對稱二叉樹 | 回溯+二叉樹 |
102 | 二叉樹的層序遍歷 | 隊列+二叉樹 |
103 | 二叉樹的鋸齒形層次遍歷 | 隊列+二叉樹 |
107 | 二叉樹的層序遍歷II | 隊列+二叉樹 |
121 | 買賣股票的最佳時機 | 貪心算法、動態規劃 |
122 | 買賣股票的最佳時機 II | 貪心算法、動態規劃 |
144 | 二叉樹的前序遍歷 | 遞歸、迭代、棧 |
145 | 二叉樹的後序遍歷 | 遞歸、迭代、棧 |
151 | 逆波蘭表達式求值 | 棧 |
188 | *買賣股票的最佳時機 IV | 三維動態規劃 |
209 | 長度最小的子數組 | 數組、雙指針、滑動窗口 |
212 | *單詞搜索II | 回溯、前綴樹 |
231 | 2的冪 | 數學公式log |
240 | 搜索二維矩陣II | 數組、二分法 |
242 | 有效的字母異位詞 | 字符數組 |
263 | 醜數 | 暴力破解 |
264 | 醜數 II | 動態規劃 |
278 | 第一個錯誤的版本 | 二分查找 |
326 | 3的冪 | 數學公式log |
328 | 奇偶鏈表 | 數學公式log |
342 | 4的冪 | 數學公式log |
438 | 找到字符串中所有字母異位詞 | 滑動窗口 |
567 | 字符串的排列 | 滑動窗口 |
611 | 有效三角形的個數 | 三指針 |
637 | 二叉樹的層平均值 | 二叉樹、隊列 |
643 | 子數組最大平均數 I | 滑動窗口 |
725 | 分隔鏈表 | 單鏈表 |
832 | 翻轉圖像 | 數組 |
1200 | 最小絕對差 | 快排、數組 |
1417 | 重新格式化字符串 | 數組 |
Java版面試題記錄彙總
序號 | 題目 | 算法思想 |
---|---|---|
29 | 順時針打印矩陣 | 快排、數組 |
Leetcode C語言版學習記錄彙總
- 數據結構複習順便做的練習
C語言版題目列表:
序號 | 題目 | 算法思想 |
---|---|---|
21 | 合併兩個有序鏈表 | 單鏈表 |
53 | 最大子序和 | 貪心算法 |
82 | 刪除排序鏈表中的重複元素II | 單鏈表 |
83 | 刪除排序鏈表中的重複元素 | 單鏈表 |
86 | 分隔鏈表 | 單鏈表 |
94 | 二叉樹的中序遍歷 | 二叉樹、遞歸 |
101 | 對稱二叉樹 | 二叉樹、遞歸 |
102 | 二叉樹的層序遍歷 | 二叉樹、隊列 |
107 | 二叉樹的層序遍歷II | 二叉樹、隊列 |
144 | 二叉樹的前序遍歷 | 二叉樹、遞歸 |
145 | 二叉樹的後序遍歷 | 二叉樹、遞歸 |
151 | 逆波蘭表達式求值 | 棧 |
328 | 奇偶鏈表 | 單鏈表 |
725 | 分隔鏈表 | 單鏈表 |