数据结构
2023-01-05 09:19:18 11 举报
AI智能生成
数据结构leetcode
作者其他创作
大纲/内容
基本
复杂度分析
纯编程题
1. 两数之和
纯规律题
数组
链表
203. 移除链表元素(简单)
876. 链表的中间结点(简单)
83. 删除排序链表中的重复元素(简单)
剑指 Offer 25. 合并两个排序的链表(中等)
2. 两数相加(中等)
206. 反转链表(中等)
234. 回文链表(中等)
328. 奇偶链表(中等)
25. K 个一组翻转链表(困难)
剑指 Offer 22. 链表中倒数第k个节点(简单)
19. 删除链表的倒数第 N 个结点(中等)
160. 相交链表(简单)
141. 环形链表(简单)
栈&队列
剑指 Offer 09. 用两个栈实现队列(简单)
225. 用队列实现栈(简单)
面试题 03.05. 栈排序(中等)
155. 最小栈(简单)
面试题 03.01. 三合一(简单)
20. 有效的括号(简单)
面试题 16.26. 计算器(中等)
1047. 删除字符串中的所有相邻重复项(简单)
剑指 Offer 31. 栈的压入、弹出序列(中等)
739. 每日温度(中等) 单调栈 (已讲)
42. 接雨水(困难)单调栈
递归
剑指 Offer 10- I. 斐波那契数列(简单)
剑指 Offer 10- II. 青蛙跳台阶问题(简单)
面试题 08.01. 三步问题(简单)
剑指 Offer 06. 从尾到头打印链表(简单)
剑指 Offer 24. 反转链表(简单)
剑指 Offer 25. 合并两个排序的链表(中等)
剑指 Offer 16. 数值的整数次方(中等)
面试题 08.05. 递归乘法(中等)
排序
面试题 10.01. 合并排序的数组(简单)
242. 有效的字母异位词(简单)
1502. 判断能否形成等差数列(简单)
56. 合并区间(中等)
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(简单)
75. 颜色分类(中等)
147. 对链表进行插入排序(中等)
148. 排序链表(中等)
215. 数组中的第K个最大元素(中等)
面试题 17.14. 最小K个数(中等)
剑指 Offer 51. 数组中的逆序对(困难)
二分查找
704. 二分查找(简单) 标准二分查找
374. 猜数字大小(简单)
744. 寻找比目标字母大的最小字母(简单)
35. 搜索插入位置(简单)
34. 在排序数组中查找元素的第一个和最后一个位置(中等)
面试题 10.05. 稀疏数组搜索(简单)
33. 搜索旋转排序数组(中等)无重复数据
153. 寻找旋转排序数组中的最小值(中等) 无重复数据
852. 山脉数组的峰顶索引(简单)峰值二分
162. 寻找峰值(中等)峰值二分
367. 有效的完全平方数(简单)二分答案
69. x 的平方根(简单)二分答案
74. 搜索二维矩阵(中等) 二维转一维,二分查找
哈希
两数之和(简单) 两数之和
15. 三数之和(中等)三数之和
160. 相交链表(简单)
141. 环形链表(简单) 判断链表中是否存在环
面试题 02.01. 移除重复节点(中等) 借助哈希表
面试题 16.02. 单词频率(简单)
面试题 01.02. 判定是否互为字符重排(简单) 排序、哈希表、位图
剑指 Offer 03. 数组中重复的数字(简单)
242. 有效的字母异位词(简单)
49. 字母异位词分组(中等)
136. 只出现一次的数字(简单)哈希表、位图、排序、位运算
349. 两个数组的交集(简单)哈希或者排序,二分查找优化
1122. 数组的相对排序(中等)位图
706. 设计哈希映射(简单)自己实现HashMap
146. LRU 缓存机制(中等)标准的LRU
面试题 16.21. 交换和(中等) 找规律,可以借助哈希表优化
二叉树
题型1:二叉树前中后序遍历
144. 二叉树的前序遍历(简单)
145. 二叉树的后序遍历(简单)
94. 二叉树的中序遍历(简单)
589. N 叉树的前序遍历(简单)
590. N 叉树的后序遍历(简单)
题型2:二叉树按层遍历
剑指 Offer 32 - I. 从上到下打印二叉树(中等)
102. 二叉树的层序遍历(中等)
剑指 Offer 32 - III. 从上到下打印二叉树 III(中等)
429. N 叉树的层序遍历(中等)
513. 找树左下角的值(中等)
题型3:二叉树上的递归
104. 二叉树的最大深度(简单)
559. N 叉树的最大深度(简单)
剑指 Offer 55 - II. 平衡二叉树(中等)
617. 合并二叉树(简单)
226. 翻转二叉树(简单)
101. 对称二叉树(中等)
98. 验证二叉搜索树(中等)
题型4:二叉查找树
剑指 Offer 54. 二叉搜索树的第k大节点(中等)
538. 把二叉搜索树转换为累加树(中等)
面试题 04.06. 后继者(中等
题型5:LCA最近公共祖先
236. 二叉树的最近公共祖先(中等)
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(中等)
题型6:二叉树转单、双、循环链表
114. 二叉树展开为链表(中等)
面试题 17.12. BiNode(中等)
剑指 Offer 36. 二叉搜索树与双向链表(中等)
面试题 04.03. 特定深度节点链表(中等)
题型7:按照遍历结果反向构建二叉树
105. 从前序与中序遍历序列构造二叉树(中等)
889. 根据前序和后序遍历构造二叉树(中等)
106. 从中序与后序遍历序列构造二叉树(中等)
剑指 Offer 33. 二叉搜索树的后序遍历序列(中等)
题型8:二叉树上的最长路径和
543. 二叉树的直径(简单)
剑指 Offer 34. 二叉树中和为某一值的路径(中等)
124. 二叉树中的最大路径和 (困难)
堆
23. 合并K个升序链表(困难)
347. 前 K 个高频元素(中等
295. 数据流的中位数(困难)
973. 最接近原点的 K 个点(中等)
208. 实现 Trie (前缀树)(中等) 标准Trie树
回溯
面试题 08.12. 八皇后
37. 解数独
17. 电话号码的字母组合(中等)
77. 组合(中等) 给n个数返回所有k个数的组合
78. 子集(中等) 所有的组合
90. 子集 II(中等)有重复数据
46. 全排列(中等) 所有排列
47. 全排列 II(中等) 有重复数据
39. 组合总和(中等) 选出某几个数相加为给定和,无重复数据,可以使用多次,不能有重复答案
40. 组合总和 II(中等)选出某几个数相加为给定和,有重复数据,只能使用一次,不能有重复答案
216. 组合总和 III(中等) 选出k个数相加为给定和,没有重复数据,只能使用一次
131. 分割回文串(中等)
93. 复原 IP 地址(中等)
22. 括号生成(中等)
DFS&BFS
剑指 Offer 13. 机器人的运动范围(中等)
面试题 08.10. 颜色填充(简单)
面试题 04.01. 节点间通路(中等)
200. 岛屿数量(中等) (已讲)
面试题 16.19. 水域大小(中等)
207. 课程表(中等)
79. 单词搜索(中等)
1306. 跳跃游戏 III(中等)
752. 打开转盘锁(中等)
面试题 17.22. 单词转换(中等)
动态规划
背包:
416. 分割等和子集
322. 零钱兑换
494. 目标和
518. 零钱兑换 II
路径问题
64. 最小路径和
剑指 Offer 47. 礼物的最大价值
120. 三角形最小路径和
62. 不同路径
63. 不同路径 II
打家劫舍 & 买卖股票:
198. 打家劫舍
213. 打家劫舍 II
337. 打家劫舍 III (树形DP)
714. 买卖股票的最佳时机含手续
309. 最佳买卖股票时机含冷冻期
爬楼梯问题
70. 爬楼梯
322. 零钱兑换
518. 零钱兑换 II
剑指 Offer 14- I. 剪绳子
剑指 Offer 46. 把数字翻译成字符串
139. 单词拆分
匹配问题
1143. 最长公共子序列
72. 编辑距离
其他
300. 最长递增子序列
其他
双指针:
滑动窗口:
前缀后缀统计:
位运算:
0 条评论
下一页