数组
- 力扣1:两数之和
- 力扣1299:将每个元素替换为右侧最大元素
- 力扣1464:数组中两个元素的最大乘积
- 力扣15:三数之和
- 力扣179:最大数
- 力扣189:旋转数组
- 力扣215:数组中第K个最大元素
- 力扣239:滑动窗口的最大值
- 力扣33:搜索旋转排序数组
- 力扣349:两个数组的交集1
- 力扣350:两个数组的交集2
- 力扣384:打乱数组
- 力扣4:求两个正序数组的中位数
- 力扣40:数组总和
- 力扣41:缺失的第一个正数
- 力扣416:分割等和数组
- 力扣42:接雨水问题
- 力扣442:数组中重复的数据
- 力扣448:找到所有数组中消失的数字
- 力扣45:跳跃游戏(跳跃次数)
- 力扣48:旋转图像
- 力扣480:滑动窗口中位数
- 力扣525:连续子数组
- 力扣54:螺旋矩阵
- 力扣55:跳跃游戏(跳跃距离)
- 力扣556:下一个更大元素
- 力扣56:合并区间
- 力扣560:和为K的子数组
- 力扣658:找到K个最接近的元素
- 力扣659:分割数组为连续子序列
- 力扣74:搜索二维矩阵
- 力扣84:柱状图中的最大矩行
- 力扣88:合并两个有序数组
字符串
- 力扣1312:让字符串成为回文串的最少插入次数
- 力扣139:单词拆分1
- 力扣140:单词拆分2
- 力扣165:比较版本号
- 力扣22:生成括号
- 力扣316:去除重复字母保证字典序最小
- 力扣415:字符串相加
- 力扣43:字符串相乘
- 力扣44:通配符匹配
- 力扣443:字符串压缩
- 力扣557:反转字符串中的单词
- 力扣67:二进制求和
- 力扣72:编辑距离
- 力扣93:复原IP地址
- 剑指offer46:把数字翻译成字符串
- KMP算法
- 力扣647:一个字符串中有多少个回文字串
- 力扣17:电话号码的字母组合
排序算法
- 快速排序
- 插入排序
- 归并排序
- 希尔排序
- 堆排序
链表
- 力扣109:将有序链表转化为二叉搜素树
- 力扣141:环形链表判断是否有环
- 力扣142:环形链表检测入口位置
- 力扣143:重拍链表
- 力扣160:相交链表
- 力扣206:反转链表
- 力扣21:合并两个有序链表
- 力扣23:合并K和有序链表
- 力扣234:回文联表
- 力扣25:K个一组反转链表
- 力扣328:奇偶链表
- 力扣445:链表求和(头对齐:尾对齐)
- 力扣80:删除排序数组中的重复元素
- 力扣82:删除重复元素
- 力扣83:删除排序链表中的重复元素
- 力扣86:分割链表
- 剑指offer:二叉搜索树和双向链表
- 剑指offer22:链表中倒数第K个节点
- 剑指offer54:二叉搜索树中的第K大节点
- LRU实现
- 从尾到头打印链表
动态规划问题
- 力扣121:买卖股票(一次交易)
- 力扣122:买卖股票(多次交易)
- 力扣134:加油站
- 力扣309:买卖股票(包含冷冻时间)
- 力扣322:零钱兑换
- 力扣518:零钱兑换
- 力扣53:最大子緒和
- 力扣674:未经排序数组最长连续递增序列
- 把数字翻译成字符串
- 剪绳子
- 接雨水
- 礼物的最大价值
最长问题
- 最长回文字串
- 最长回文子序列
- 最长连续公共字串
- 最长公共子序列
- 最长连续为1的字串
- 最长有效括号
- 最长无重复字符的连续字串
- 最长等差数列
- 最长上升连续序列
- 最长上升子序列
- 最长和谐子序列
树
- 力扣102:二叉搜索树的层次遍历
- 力扣105:从前序和中序重构二叉树
- 力扣108:将有序数组转化为二叉搜索树
- 力扣110:平衡二叉树
- 力扣113:路径总和
- 力扣124:二叉树的最大路径和
- 力扣1325:删除给定值的叶子节点
- 力扣144:二叉树的前序遍历(非递归)
- 力扣145:二叉树的后续遍历(非递归)
- 力扣199:二叉树的右视图
- 力扣208:实现Trie前缀树
- 力扣222:完全二叉树的节点数
- 力扣226:翻转二叉树
- 力扣236:二叉树的最近公共祖先
- 力扣257:二叉树的所有路径
- 力扣297:二叉树的序列化和反序列化
- 力扣450:删除二叉树中的节点
- 力扣543:二叉树的直径长度
- 力扣617:合并二叉树
- 力扣662:二叉树的最大宽度
- 力扣687:最长同值路径
- 力扣94:二叉树中序遍历(非递归)
- 力扣958:二叉树的完全性检验
- 力扣98:验证二叉搜索树
- 力扣99:恢复二叉搜索树
- 重建二叉树
- Z字形层次遍历
深搜
- 力扣1254:封闭岛屿的数目
- 力扣200:岛屿的数量
- 力扣209:课程表
- 力扣365:水壶问题
- 力扣46:全排序
- 力扣463:岛屿的周长
- 力扣547:朋友圈
- 力扣695:岛屿的面积
- 力扣733:颜色渲染
- 二维矩阵中寻找最大正方形
- 矩阵中的路径
- 括号生成
- 幂集
数学问题
- 力扣1240:铺瓷砖
- 力扣202:快乐数
- 力扣204:计算质数
- 力扣37:解数独
- 力扣43:字符串相乘
- 力扣50:计算pow
- 力扣509:斐波那契数列
- 力扣679:24点游戏
- 力扣7:回文素数
- 计算表达式的值
- 开平方根函数(会两种)
- 数字转16进制
堆栈问题
- 力扣155:最小栈
- 力扣225:用队列实现栈
- 力扣232:用两个栈实现队列
- 力扣312:戳气球
- 面试金典0305:栈排序
- 使用数组实现队列
- 栈的压入弹出序列是否合法
- 打印栈的压入和弹出的序列
- 会议安排(小红书现场原题)
- 力扣406:根据身高重建队列
其他真题
- 力扣135:分发糖果
- 力扣198:打家劫舍
- 力扣213:打家劫舍
- 力扣337:打家劫舍
- 力扣301:删除无效的括号
- 两个线程交替打印奇偶数
- 三个线程顺序打印ABC
- 实现读写锁
- 死锁的案例