跳至主要內容

数据结构

大约 14 分钟

数据结构

1 数据结构入门

  • 简单 28
  • 中等 5
  • 困难 0
题目难度代码
第 1 天
217. 存在重复元素open in new window简单javaopen in new window
53. 最大子数组和open in new window简单javaopen in new window
第 2 天
1. 两数之和open in new window简单javaopen in new window
88. 合并两个有序数组open in new window简单javaopen in new window
第 3 天
350. 两个数组的交集 IIopen in new window简单javaopen in new window
121. 买卖股票的最佳时机open in new window简单javaopen in new window
第 4 天
566. 重塑矩阵open in new window简单javaopen in new window
118. 杨辉三角open in new window简单javaopen in new window
第 5 天
36. 有效的数独open in new window中等javaopen in new window
73. 矩阵置零open in new window中等javaopen in new window
第 6 天
387. 字符串中的第一个唯一字符open in new window简单javaopen in new window
383. 赎金信open in new window简单javaopen in new window
242. 有效的字母异位词open in new window简单javaopen in new window
第 7 天
141. 环形链表open in new window简单javaopen in new window
21. 合并两个有序链表open in new window简单javaopen in new window
203. 移除链表元素open in new window简单javaopen in new window
第 8 天
206. 反转链表open in new window简单javaopen in new window
83. 删除排序链表中的重复元素open in new window简单javaopen in new window
第 9 天
20. 有效的括号open in new window简单javaopen in new window
232. 用栈实现队列open in new window简单javaopen in new window
第 10 天
144. 二叉树的前序遍历open in new window简单javaopen in new window
94. 二叉树的中序遍历open in new window简单javaopen in new window
145. 二叉树的后序遍历open in new window简单javaopen in new window
第 11 天
102. 二叉树的层序遍历open in new window中等javaopen in new window
104. 二叉树的最大深度open in new window简单javaopen in new window
101. 对称二叉树open in new window简单javaopen in new window
第 12 天
226. 翻转二叉树open in new window简单javaopen in new window
112. 路径总和open in new window简单javaopen in new window
第 13 天
700. 二叉搜索树中的搜索open in new window简单javaopen in new window
701. 二叉搜索树中的插入操作open in new window中等javaopen in new window
第 14 天
98. 验证二叉搜索树open in new window中等javaopen in new window
653. 两数之和 IV - 输入 BSTopen in new window简单javaopen in new window
235. 二叉搜索树的最近公共祖先open in new window简单javaopen in new window

 

2 数据结构基础

  • 简单 11
  • 中等 37
  • 困难 2
题目难度代码
第 1 天 数组
136. 只出现一次的数字open in new window简单javaopen in new window
169. 多数元素open in new window简单javaopen in new window
15. 三数之和open in new window中等javaopen in new window
第 2 天 数组
75. 颜色分类open in new window中等javaopen in new window
56. 合并区间open in new window中等javaopen in new window
706. 设计哈希映射open in new window简单javaopen in new window
第 3 天 数组
119. 杨辉三角 IIopen in new window简单javaopen in new window
48. 旋转图像open in new window中等javaopen in new window
59. 螺旋矩阵 IIopen in new window中等javaopen in new window
第 4 天 数组
240. 搜索二维矩阵 IIopen in new window中等javaopen in new window
435. 无重叠区间open in new window中等javaopen in new window
第 5 天 数组
334. 递增的三元子序列open in new window中等javaopen in new window
238. 除自身以外数组的乘积open in new window中等javaopen in new window
560. 和为 K 的子数组open in new window中等javaopen in new window
第 6 天 字符串
415. 字符串相加open in new window简单javaopen in new window
409. 最长回文串open in new window简单javaopen in new window
第 7 天 字符串
290. 单词规律open in new window简单javaopen in new window
763. 划分字母区间open in new window中等javaopen in new window
第 8 天 字符串
49. 字母异位词分组open in new window中等javaopen in new window
43. 字符串相乘open in new window中等javaopen in new window
第 9 天 字符串
187. 重复的 DNA 序列open in new window中等javaopen in new window
5. 最长回文子串open in new window中等javaopen in new window
第 10 天 链表
2. 两数相加open in new window中等javaopen in new window
142. 环形链表 IIopen in new window中等javaopen in new window
第 11 天 链表
160. 相交链表open in new window简单javaopen in new window
82. 删除排序链表中的重复元素 IIopen in new window中等javaopen in new window
第 12 天 链表
24. 两两交换链表中的节点open in new window中等javaopen in new window
707. 设计链表open in new window中等javaopen in new window
第 13 天 链表
25. K 个一组翻转链表open in new window困难javaopen in new window
143. 重排链表open in new window中等javaopen in new window
第 14 天 栈 / 队列
155. 最小栈open in new window简单javaopen in new window
1249. 移除无效的括号open in new window中等javaopen in new window
1823. 找出游戏的获胜者open in new window中等javaopen in new window
第 15 天 树
108. 将有序数组转换为二叉搜索树open in new window简单javaopen in new window
105. 从前序与中序遍历序列构造二叉树open in new window中等javaopen in new window
103. 二叉树的锯齿形层序遍历open in new window中等javaopen in new window
第 16 天 树
199. 二叉树的右视图open in new window中等javaopen in new window
113. 路径总和 IIopen in new window中等javaopen in new window
450. 删除二叉搜索树中的节点open in new window中等javaopen in new window
第 17 天 树
230. 二叉搜索树中第 K 小的元素open in new window中等javaopen in new window
173. 二叉搜索树迭代器open in new window中等javaopen in new window
第 18 天 树
236. 二叉树的最近公共祖先open in new window中等javaopen in new window
297. 二叉树的序列化与反序列化open in new window困难javaopen in new window
第 19 天 图
997. 找到小镇的法官open in new window简单javaopen in new window
1557. 可以到达所有点的最少点数目open in new window中等javaopen in new window
841. 钥匙和房间open in new window中等javaopen in new window
第 20 天 优先队列
215. 数组中的第 K 个最大元素open in new window中等javaopen in new window
347. 前 K 个高频元素open in new window中等javaopen in new window
第 21 天 优先队列
451. 根据字符出现频率排序open in new window中等javaopen in new window
973. 最接近原点的 K 个点open in new window中等javaopen in new window

 

3 $数据结构进阶

  • 简单 5
  • 中等 37
  • 困难 18
题目难度代码
第 1 天 数组
$325. 和等于 k 的最长子数组长度open in new window 中等javaopen in new window
$1151. 最少交换次数来组合所有的 1open in new window 中等javaopen in new window
第 2 天 数组
1588. 所有奇数长度子数组的和open in new window简单javaopen in new window
452. 用最少数量的箭引爆气球open in new window中等javaopen in new window
第 3 天 数组
128. 最长连续序列open in new window中等javaopen in new window
454. 四数相加 IIopen in new window中等javaopen in new window
448. 找到所有数组中消失的数字open in new window简单javaopen in new window
第 4 天 字符串
$1427. 字符串的左右移open in new window 简单javaopen in new window
409. 最长回文串open in new window简单javaopen in new window
第 5 天 字符串
187. 重复的 DNA 序列open in new window中等javaopen in new window
5. 最长回文子串open in new window中等javaopen in new window
第 6 天 字符串
44. 通配符匹配open in new window困难javaopen in new window
214. 最短回文串open in new window困难javaopen in new window
第 7 天 链表
$1634. 求两个多项式链表的和open in new window 中等javaopen in new window
$369. 给单链表加一open in new window 中等javaopen in new window
第 8 天 链表
148. 排序链表open in new window中等javaopen in new window
138. 复制带随机指针的链表open in new window中等javaopen in new window
430. 扁平化多级双向链表open in new window中等javaopen in new window
第 9 天 栈 / 队列
$281. 锯齿迭代器open in new window 中等javaopen in new window
394. 字符串解码open in new window中等javaopen in new window
第 10 天 栈 / 队列
739. 每日温度open in new window中等javaopen in new window
42. 接雨水open in new window困难javaopen in new window
第 11 天 栈 / 队列
402. 移掉 K 位数字open in new window中等javaopen in new window
456. 132 模式open in new window中等javaopen in new window
第 12 天 栈 / 队列
84. 柱状图中最大的矩形open in new window困难javaopen in new window
862. 和至少为 K 的最短子数组open in new window困难javaopen in new window
第 13 天 树
$1602. 找到二叉树中最近的右侧节点open in new window 中等javaopen in new window
$1469. 寻找所有的独生节点open in new window 简单javaopen in new window
第 14 天 树
$1522. N 叉树的直径open in new window 中等javaopen in new window
337. 打家劫舍 IIIopen in new window中等javaopen in new window
第 15 天 树
1325. 删除给定值的叶子节点open in new window中等javaopen in new window
$366. 寻找二叉树的叶子节点open in new window 中等javaopen in new window
第 16 天 树
124. 二叉树中的最大路径和open in new window困难javaopen in new window
968. 监控二叉树open in new window困难javaopen in new window
第 17 天 图 / 并查集
886. 可能的二分法open in new window中等javaopen in new window
787. K 站中转内最便宜的航班open in new window中等javaopen in new window
第 18 天 图 / 并查集
$261. 以图判树open in new window 中等javaopen in new window
547. 省份数量open in new window中等javaopen in new window
第 19 天 图 / 并查集
990. 等式方程的可满足性open in new window中等javaopen in new window
1319. 连通网络的操作次数open in new window中等javaopen in new window
第 20 天 图 / 并查集
$305. 岛屿数量 IIopen in new window 困难javaopen in new window
1579. 保证图可完全遍历open in new window困难javaopen in new window
第 21 天 图 / 并查集
$323. 无向图中连通分量的数目open in new window 中等javaopen in new window
$1101. 彼此熟识的最早时间open in new window 中等javaopen in new window
第 22 天 优先队列
$253. 会议室 IIopen in new window 中等javaopen in new window
23. 合并 K 个升序链表open in new window困难javaopen in new window
第 23 天 优先队列
378. 有序矩阵中第 K 小的元素open in new window中等javaopen in new window
295. 数据流的中位数open in new window困难javaopen in new window
第 24 天 优先队列
$358. K 距离间隔重排字符串open in new window 困难javaopen in new window
$759. 员工空闲时间open in new window 困难javaopen in new window
218. 天际线问题open in new window困难javaopen in new window
第 25 天 有序集合
$1756. 设计最近使用(MRU)队列open in new window 中等javaopen in new window
729. 我的日程安排表 Iopen in new window中等javaopen in new window
1606. 找到处理最多请求的服务器open in new window困难javaopen in new window
第 26 天 前缀树(单词查找树)
208. 实现 Trie (前缀树)open in new window中等javaopen in new window
211. 添加与搜索单词 - 数据结构设计open in new window中等javaopen in new window
第 27 天 前缀树(单词查找树)
$1858. 包含所有前缀的最长单词open in new window 中等javaopen in new window
212. 单词搜索 IIopen in new window困难javaopen in new window
第 28 天 前缀树(单词查找树)
336. 回文对open in new window困难javaopen in new window
$642. 设计搜索自动补全系统open in new window 困难javaopen in new window

 

(全文完)