damenshi / leetcode-Notes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

leetcode刷题笔记

对刷过的题做一下分类记录,方便面试前进行复习。其中参考了很多leetcode题解区算法大佬的答案, 综合考量了算法复杂度和容易理解两方面。

数据结构

1.数组

  • 双指针
Title Solution
26. 删除有序数组中的重复项 C++
83. 删除排序链表中的重复元素 C++
27. 移除元素 C++
283. 移动零 C++
167. 两数之和 II - 输入有序数组 C++
344. 反转字符串 C++
5. 最长回文子串 C++
870. 优势洗牌 C++
  • 滑动窗口
Title Solution
76. 最小覆盖子串 C++
567. 字符串的排列 C++
438. 找到字符串中所有字母异位词 C++
3. 无重复字符的最长子串 C++
  • 二分查找

二分查找模板总结

Title Solution
704. 二分查找 C++
34. 在排序数组中查找元素的第一个和最后一个位置 C++
875. 爱吃香蕉的珂珂 C++
1011. 在 D 天内送达包裹的能力 C++
410. 分割数组的最大值 C++
  • 前缀和
Title Solution
303. 区域和检索 - 数组不可变 C++
304. 二维区域和检索 - 矩阵不可变 C++
528. 按权重随机选择 C++
  • 差分
Title Solution
1109. 航班预订统计 C++
1094. 拼车 C++
  • 遍历数组
Title Solution
48. 旋转图像 C++
54. 螺旋矩阵 C++
  • 常数时间删除/查找数组中的任意元素
Title Solution
380. O(1) 时间插入、删除和获取随机元素 C++
710. 黑名单中的随机数 C++
  • 单调栈
Title Solution
402. 移掉 K 位数字 C++
1081. 不同字符的最小子序列 C++
321. 拼接最大数 C++

2.链表

  • 双指针
Title Solution
141. 环形链表 C++
142. 环形链表 II C++
160. 相交链表 C++
19. 删除链表的倒数第 N 个结点 C++
21. 合并两个有序链表 C++
23. 合并K个升序链表 C++
86. 分隔链表 C++
234. 回文链表 C++
  • 反转链表
Title Solution
206. 反转链表 C++
92. 反转链表 II C++
25. K 个一组翻转链表 C++

3.哈希表

Title Solution
C++
C++
C++

4.字符串

Title Solution
30. 串联所有单词的子串 C++
C++
C++

5.栈和队列

Title Solution
C++
C++
C++

6.二叉树

  • 二叉树遍历
Title Solution
144. 二叉树的前序遍历 C++
94. 二叉树的中序遍历 C++
145. 二叉树的后序遍历 C++
102. 二叉树的层序遍历 C++
  • 二叉树属性
Title Solution
104. 二叉树的最大深度 C++
111. 二叉树的最小深度 C++
543. 二叉树的直径 C++
101. 对称二叉树 C++
222. 完全二叉树的节点个数 C++
110. 平衡二叉树 C++
  • 二叉树修改与构造
Title Solution
114. 二叉树展开为链表 C++
116. 填充每个节点的下一个右侧节点指针 C++
226. 翻转二叉树 C++
105. 从前序与中序遍历序列构造二叉树 C++
106. 从中序与后序遍历序列构造二叉树 C++
654. 最大二叉树 C++
889. 根据前序和后序遍历构造二叉树 C++

7.图

算法

1.排序

Title Solution
912. 排序数组:快速排序 C++
C++
C++

2.回溯

  • 组合、排列、子集 | Title | Solution | | ------------------------------------------------------------ | :------: | | 77. 组合 | C++ | | 39. 组合总和 | C++ | | | C++ | | | |

  • 字符串中的回溯问题

Title Solution
C++
17. 电话号码的字母组合 C++
C++

3.贪心

4.动态规划

CodeTop

Title Solution
206. 反转链表
146. LRU 缓存 C++
3. 无重复字符的最长子串 C++
25. K 个一组翻转链表 C++
215. 数组中的第K个最大元素 C++
15. 三数之和 C++
21. 合并两个有序链表
33. 搜索旋转排序数组
23. 合并K个排序链表
88. 合并两个有序数组 C++
165. 比较版本号 C++
415. 字符串相加 C++
20. 有效的括号 C++
46. 全排列 C++

About