01 链表
题号 | 题目 | 难度 |
---|---|---|
BM1 | 反转链表 | 简单 |
BM2 | 链表内指定区间反转 | 中等 |
BM3 | 链表中的节点每k个一组翻转 | 中等 |
BM4 | 合并两个排序的链表 | 简单 |
BM5 | 合并k个已排序的链表 | 困难 |
BM6 | 判断链表中是否有环 | 简单 |
BM7 | 链表中环的入口节点 | 简单 |
BM8 | 链表中倒数最后k个结点 | 简单 |
BM9 | 删除链表的倒数第n个节点 | 中等 |
BM10 | 两个链表的第一个公共结点 | 简单 |
BM11 | 链表相加(二) | 中等 |
BM12 | 单链表的排序 | 简单 |
BM13 | 判断一个链表是否为回文结构 | 简单 |
BM14 | 链表的奇偶重排 | 中等 |
BM15 | 删除有序链表中重复的元素-I | 简单 |
BM16 | 删除有序链表中重复的元素-II | 中等 |
02 二分查找/排序
题号 | 题目 | 难度 |
---|---|---|
BM17 | 二分查找-I | 简单 |
BM18 | 二维数组中的查找 | 中等 |
BM19 | 寻找峰值 | 中等 |
BM20 | 数组中的逆序对 | 中等 |
BM21 | 旋转数组的最小数字 | 简单 |
BM22 | 比较版本号 | 中等 |
03 二叉树
题号 | 题目 | 难度 |
---|---|---|
BM23 | 二叉树的前序遍历 | 简单 |
BM24 | 二叉树的中序遍历 | 中等 |
BM25 | 二叉树的后序遍历 | 简单 |
BM26 | 二叉树的层次遍历 | 中等 |
BM27 | 按之字形顺序打印二叉树 | 中等 |
BM28 | 二叉树的最大深度 | 简单 |
BM29 | 二叉树中和为某一值的路径(一) | 简单 |
BM30 | 二叉搜索树与双向链表 | 中等 |
BM31 | 对称的二叉树 | 简单 |
BM32 | 合并二叉树 | 简单 |
BM33 | 二叉树的镜像 | 简单 |
BM34 | 判断是不是二叉搜索树 | 中等 |
BM35 | 判断是不是完全二叉树 | 中等 |
BM36 | 判断是不是平衡二叉树 | 简单 |
BM37 | 二叉搜索树的最近公共祖先 | 简单 |
BM38 | 在二叉树中找到两个结点的最近公共祖先 | 中等 |
BM39 | 序列化二叉树 | 困难 |
BM40 | 重建二叉树 | 中等 |
BM41 | 输出二叉树的右视图 | 中等 |
04 堆/栈/队列
题号 | 题目 | 难度 |
---|---|---|
BM42 | 用两个栈实现队列 | 简单 |
BM43 | 包含min函数的栈 | 简单 |
BM44 | 有效括号序列 | 简单 |
BM45 | 滑动窗口的最大值 | 困难 |
BM46 | 最小的K个数 | 中等 |
BM47 | 寻找第K大 | 中等 |
BM48 | 数据流中的中位数 | 中等 |
BM49 | 表达式求值 | 中等 |
05 哈希
题号 | 题目 | 难度 |
---|---|---|
BM50 | 两数之和 | 简单 |
BM51 | 数组中出现次数超过一半的数字 | 简单 |
BM52 | 数组中只出现一次的两个数字 | 中等 |
BM53 | 缺失的第一个正整数 | 中等 |
BM54 | 三数之和 | 中等 |
06 递归/回溯
题号 | 题目 | 难度 |
---|---|---|
BM55 | 没有重复项数字的全排列 | 中等 |
BM56 | 有重复项数字的全排列 | 中等 |
BM57 | 🧱岛屿数量 | 中等 |
BM58 | 字符串的排列 | 中等 |
BM59 | N皇后问题 | 困难 |
BM60 | 括号生成 | 中等 |
BM61 | 矩阵最长递增路径 | 中等 |
07 动态规划
题号 | 题目 | 难度 |
---|---|---|
BM62 | 斐波那契数列 | 入门 |
BM63 | 跳台阶 | 入门 |
BM64 | 最小花费爬楼梯 | 简单 |
BM65 | 最长公共子序列(二) | 中等 |
BM66 | 最长公共子串 | 中等 |
BM67 | 不同路径的数目(一) | 简单 |
BM68 | 矩阵的最小路径和 | 中等 |
BM69 | 把数字翻译成字符串 | 中等 |
BM70 | 兑换零钱(一) | 简单 |
BM71 | 最长上升子序列(一) | 中等 |
BM72 | 连续子数组的最大和 | 简单 |
BM73 | 最长回文子串 | 中等 |
BM74 | 数字字符串转化成IP地址 | 中等 |
BM75 | 编辑距离(一) | 困难 |
BM76 | 正则表达式匹配 | 困难 |
BM77 | 最长的括号子串 | 困难 |
BM78 | 打家劫舍(一) | 中等 |
BM79 | 打家劫舍(二) | 中等 |
BM80 | 买卖股票的最好时机(一) | 简单 |
BM81 | 买卖股票的最好时机(二) | 中等 |
BM82 | 买卖股票的最好时机(三) | 困难 |
08 字符串
题号 | 题目 | 难度 |
---|---|---|
BM83 | 字符串变形 | 简单 |
BM84 | 最长公共前缀 | 简单 |
BM85 | 验证IP地址 | 中等 |
BM86 | 大数加法 | 中等 |
09 双指针
题号 | 题目 | 难度 |
---|---|---|
BM87 | 合并两个有序的数组 | 简单 |
BM88 | 判断是否为回文字符串 | 入门 |
BM89 | 合并区间 | 中等 |
BM90 | 最小覆盖子串 | 困难 |
BM91 | 反转字符串 | 入门 |
BM92 | 最长无重复子数组 | 中等 |
BM93 | 盛水最多的容器 | 中等 |
BM94 | 接雨水问题 | 困难 |
10 贪心
题号 | 题目 | 难度 |
---|---|---|
BM95 | 分糖果问题 | 中等 |
BM96 | 主持人调度 | 中等 |
11 模拟
题号 | 题目 | 难度 |
---|---|---|
BM97 | 旋转数组 | 中等 |
BM98 | 螺旋矩阵 | 简单 |
BM99 | 顺时针旋转矩阵 | 中等 |
BM100 | 设计LRU缓存结构 | 中等 |
BM101 | 设计LFU缓存结构 | 困难 |