题解笔记
问题总结
1.1 dfs
1.2 背包问题
1.3 排序总结
1.3.1 堆
1.3.2 归并排序总结 dfs+循环
1.3.3 快排
1.3.4 排序题目
1.4C++ 字符串操作
1 - 20
LeetCode 1.两数之和
LeetCode 2.两数相加
LeetCode 3.无重复字符的最长字串(滑动窗口)
LeetCode 4.寻找两个正序数组的中位数
LeetCode 5.最长回文子串
LeetCode 7.整数反转
LeetCode 8. 字符串转换整数(atoi)
LeetCode 9. 回文数
LeetCode 11.盛水最多的容器
LeetCode 12. 整数转罗马数字
LeetCode 13. 罗马数字转整数
LeetCode 14. 最长公共前缀
LeetCode 15. 三数之和
LeetCode 16. 最接近的三数之和
LeetCode 17.电话号码的字母组合(dfs)
LeetCode 18. 四数之和
LeetCode 19.删除链表的倒数第N个节点
LeetCode 20.有效的括号
21 - 40
LeetCode 21. 合并两个有序链表
LeetCode 22. 括号生成(dfs)
LeetCode 23. 合并K个升序链表(堆)
LeetCode 24. 两两交换链表中的节点
LeetCode 31. 下一个排列
LeetCode 32. 最长有效括号(dp, 栈, …)
LeetCode 33. 搜索旋转排序数组(二分)
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置(二分)
LeetCode 35. 搜索插入位置(二分+插入)
LeetCode 39. 组合总和(dfs+剪枝)
LeetCode 40. 组合总数Ⅱ(dfs+有点特殊的去重)
41 - 60
LeetCode 42. 接雨水(dp, 双指针🌟🌟)
LeetCode 46. 全排列(dfs) / list深浅拷贝
LeetCode 47. 全排列II(dfs)
LeetCode 49. 字母异位词分组(python字符串排序)
LeetCode 50. Pow(x, n) (快速幂)
LeetCode 53. 最大子数组和(dp)
LeetCode 54. 螺旋矩阵(类似dfs)
LeetCode 55. 跳跃游戏
LeetCode 56. 合并区间
61 - 80
LeetCode 62. 不同路径(dp)
LeetCode 64. 最小路径和(dp)
LeetCode 69. x的平方根、根号2求近似值(二分⭐⭐)
LeetCode 70. 爬楼梯(dp)
LeetCode 74. 搜索二维矩阵(二分查找)
LeetCode 75. 颜色分类
LeetCode 76. 最小覆盖子串(滑动窗口)
LeetCode 77. 组合(dfs+剪枝)
LeetCode 78.子集(dfs、枚举没写,以后补上)
LeetCode 79. 单词搜索(dfs)
81 - 100
LeetCode 82. 删除排序链表的重复元素II🌟
Leetcode 83. 删除排序链表的重复元素
LeetCode 88. 合并两个有序数组(归并排序一部分)
LeetCode 90. 子集II(dfs)
LeetCode 92. 反转链表Ⅱ
LeetCode 93. 复原IP地址(dfs)
LeetCode 94. 二叉树的中序遍历
LeetCode 95. 不同的二叉搜索树Ⅱ(dfs)
LeetCode 96. 不同的二叉搜索树(dp)
LeetCode 98. 验证二叉搜索树(dfs)
101 - 120
LeetCode 101. 对称二叉树(dfs)
LeetCode 102. 二叉树的层序遍历(bfs & dfs)
LeetCode 103. 二叉树的锯齿形层序遍历(bfs)
LeetCode 104. 二叉树的最大深度(bfs & dfs)
LeetCode105. 从前序与中序遍历序列构造二叉树(dfs)
LeetCode106. 从中序与后序遍历序列构造二叉树(dfs)
LeetCode 112. 路径总和(dfs🌟)
LeetCode 113. 路径总和Ⅱ(dfs🌟)
LeetCode 114. 二叉树展开为链表
121 - 140
LeetCode 121. 买卖股票的最佳时机
LeetCode 124. 二叉树中的最大路径和(dfs🌟🌟)
LeetCode 128. 最长连续序列(set)
LeetCode 129. 求根节点到叶节点数字之和(dfs⭐)
LeetCode 136. 只出现一次的数字(异或运算,set)
141 - 160
LeetCode 141. 环形链表(快慢指针)
LeetCode 142. 环形链表Ⅱ(快慢指针)
LeetCode 143. 重排链表(链表操作🌟🌟🌟)
LeetCode 146. LRU缓存(双向链表,dict)
LeetCode 148. 排序链表(归并排序总结)⭐⭐⭐
LeetCode 152. 乘积最大子数组(dp)
LeetCode 153. 寻找旋转排序数组中的最小值(二分)
LeetCode 155. 最小栈
LeetCode 160. 相交链表(双指针,set)
161 - 180
181 - 200
LeetCode 198. 打家劫舍(dp)
LeetCode 199. 二叉树的右视图(bfs)
LeetCode 200. 岛屿数量(bfs,dfs)
201 - 220
LeetCode 206. 反转链表(双指针,递归)
LeetCode 207. 课程表(bfs)
LeetCode 208. 实现Trie(前缀树)(前缀树/字典树)
LeetCode 215. 数组中的第K个最大元素(快选)
221 - 240
LeetCode 221. 最大正方形(dp)
LeetCode 226. 翻转二叉树(dfs)
LeetCode 232. 用栈实现队列
LeetCode 234. 回文列表(双指针)
LeetCode 236. 二叉树的最近公共祖先(dfs)
LeetCode 238. 除自身以外数组的乘积(左右乘积列表)
LeetCode 240. 搜索二维矩阵Ⅱ(二分查找、)
241 - 260
261 - 280
LeetCode 268. 丢失的数字(亦或)
LeetCode 279. 完全平方数(dp)
281 -
LeetCode 283. 移动零(双指针)
LeetCode 287. 寻找重复数(环状链表Ⅱ)
LeetCode 297. 二叉树的序列化与反序列化(dfs)
LeetCode 300. 最长递增子序列(贪心+二分插入)
LeetCode 309. 最佳买卖股票时机含冷冻期(状态机dp)
LeetCode 322. 零钱兑换(完全背包问题)
LeetCode 382. 链表随机节点(蓄水池抽样/水塘抽样)
LeetCode 415. 字符串相加(大数加法)
LeetCode 416. 分割等和子集(01背包问题)
LeetCode 448. 找到所有数组中消失的数字(原地修改)
LeetCode 474. 一和零(二维费用01背包问题)
LeetCode 628. 三个数的最大乘积
LeetCode 695. 岛屿的最大面积(dfs)
LeetCode 738. 单调递增的数字
LeetCode 876. 链表的中间结点(快慢指针)
LeetCode 912. 排序数组(快排,)⭐⭐⭐
LeetCode 1143. 最长公共子序列(dp)
LeetCode 1373. 二叉树的最大键值和(dfs)