0%

LeetCode分类题解

1. 双指针

1.1 滑动窗口

3.无重复字符的最长子串
76. 最小覆盖子串
438. 找到字符串中所有字母异位词

1.2 快慢指针

202. 快乐数

2. 查找问题

2.1 set map

349. 两个数组的交集

350. 两个数组的交集II

242. 有效的字母异位词

290. 单词规律

451. 根据字符出现频率排序

205. 同构字符串

1. 两数之和

18. 四数之和

16. 最接近的三数之和

454. 四数之和II

49 字母异位词分组

2.2 灵活选择键值

447. 回旋镖的数量

149. 直线上最多的点数

2.3 滑动窗口+查找表

217. 存在重复元素

219. 存在重复元素II

220. 存在重复元素III

3.链表

3.1 在链表中穿针引线

206. 反转链表

92. 反转链表II

83. 删除排序链表中的重复元素

86. 分隔链表

328. 奇偶链表

2. 两数相加

445. 两数相加II

3.2 设立链表的虚拟头结点

203. 移除链表元素

82. 删除排序链表中的重复元素

21. 合并两个有序链表

24. 两两交换链表中的节点

25. k个一组翻转链表

147. 对链表进行插入排序

148. 排序链表

3.4 不仅仅是穿针引线

237. 删除链表中的节点

3.5 链表与双指针

19. 删除链表的倒数第N个节点

61. 旋转链表

143. 重排链表

234. 回文链表

4. 栈和队列的使用

4.1 栈的使用

20. 有效的括号

150. 逆波兰表达式求值

71. 简化路径

4.2 栈和递归的紧密关系

144. 二叉树的前序遍历

94. 二叉树的中序遍历

145. 二叉树的后序遍历

341. 扁平化嵌套列表迭代器

4.3 队列的典型应用

102. 二叉树的层序遍历

107. 二叉树的层序遍历II

103. 二叉树的锯齿形层序遍历

199. 二叉树的右视图

4.4 BFS和图的最短路径

279. 完全平方数

127. 单词接龙

126. 单词接龙II

4.5 优先队列

347. 前K个高频元素

23. 合并K个排序链表

5. 二叉树和递归

5.1 二叉树天然的递归结构

104. 二叉树的最大深度

111. 二叉树的最小深度

100. 相同的树

101. 对称二叉树

222. 完全二叉树的节点个数

110. 平衡二叉树

5.2 注意递归的终止条件

112. 路径总和

404. 左叶子之和

5.3 如何使用递归函数的返回值

257. 二叉树的所有路径

113. 路径总和II

129. 求根到叶子节点数字之和

5.4 更复杂的递归逻辑

437. 路径总和III

5.5 二分搜索树中的问题

235. 二叉搜索树的最近公共祖先

98. 验证二叉搜索树

450. 删除二叉搜索树中的节点

108. 将有序数组转换为二叉搜索树

230. 二叉搜索树中第K小元素

236. 二叉树的最近公共祖先