做过的LeetCode的题目记录一下。
对一些比较经典的题型进行分类总结。
- 数组
- 字符串
- 队列
- 链表
- 双指针
- 栈
- 堆
- 树
- 二叉搜索树
- 字典树
- 线段树
- 并查集
- 哈希表
- 图
- 随机
- 数学
- 2021年11月更新
| 题目 | 链接 | 难度 | 解题 |
|---|---|---|---|
| 剑指 Offer 03. 数组中重复的数字 | 力扣地址 | 简单 | JS |
| 剑指 Offer 04. 二维数组中的查找 | 力扣地址 | 中等 | JS |
| 剑指 Offer 05. 替换空格 | 力扣地址 | 简单 | JS |
| 剑指 Offer 06. 从尾到头打印链表 | 力扣地址 | 简单 | JS |
| 剑指 Offer 07. 重建二叉树 | 力扣地址 | 中等 | JS |
| 剑指 Offer 09. 用两个栈实现队列 | 力扣地址 | 简单 | JS |
| 剑指 Offer 10- I. 斐波那契数列 | 力扣地址 | 简单 | JS |
| 剑指 Offer 10- II. 青蛙跳台阶问题 | 力扣地址 | 简单 | JS |
| 剑指 Offer 11. 旋转数组的最小数字 | 力扣地址 | 简单 | JS |
| 剑指 Offer 12. 矩阵中的路径 | 力扣地址 | 中等 | JS |
| 剑指 Offer 13. 机器人的运动范围 | 力扣地址 | 中等 | JS |
| 剑指 Offer 14- I. 剪绳子 | 力扣地址 | 中等 | JS |
| 剑指 Offer 14- II. 剪绳子 II | 力扣地址 | 中等 | JS |
| 剑指 Offer 15. 二进制中1的个数 | 力扣地址 | 简单 | JS |
| 剑指 Offer 16. 数值的整数次方 | 力扣地址 | 中等 | JS |
| 剑指 Offer 17. 打印从1到最大的n位数 | 力扣地址 | 简单 | JS |
| 剑指 Offer 18. 删除链表的节点 | 力扣地址 | 简单 | JS |
| 剑指 Offer 19. 正则表达式匹配 | 力扣地址 | 困难 | JS |
| 剑指 Offer 20. 表示数值的字符串 | 力扣地址 | 中等 | JS |
| 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 | 力扣地址 | 简单 | JS |
| 剑指 Offer 22. 链表中倒数第k个节点 | 力扣地址 | 简单 | JS |
| 剑指 Offer 24. 反转链表 | 力扣地址 | 简单 | JS |
| 剑指 Offer 25. 合并两个排序的链表 | 力扣地址 | 简单 | JS |
| 剑指 Offer 26. 树的子结构 | 力扣地址 | 中等 | JS |
| 剑指 Offer 27. 二叉树的镜像 | 力扣地址 | 简单 | JS |
| 剑指 Offer 28. 对称的二叉树 | 力扣地址 | 简单 | JS |
| 剑指 Offer 29. 顺时针打印矩阵 | 力扣地址 | 简单 | JS |
| 剑指 Offer 30. 包含min函数的栈 | 力扣地址 | 简单 | JS |
| 剑指 Offer 31. 栈的压入、弹出序列 | 力扣地址 | 中等 | JS |
| 剑指 Offer 32 - I. 从上到下打印二叉树 | 力扣地址 | 中等 | JS |
| 剑指 Offer 32 - II. 从上到下打印二叉树 II | 力扣地址 | 简单 | JS |
| 剑指 Offer 32 - III. 从上到下打印二叉树 III | 力扣地址 | 中等 | JS |
| 剑指 Offer 33. 二叉搜索树的后序遍历序列 | 力扣地址 | 中等 | JS |
| 剑指 Offer 34. 二叉树中和为某一值的路径 | 力扣地址 | 中等 | JS |
| 剑指 Offer 35. 复杂链表的复制 | 力扣地址 | 中等 | JS |
| 剑指 Offer 36. 二叉搜索树与双向链表 | 力扣地址 | 中等 | JS |
| 剑指 Offer 37. 序列化二叉树 | 力扣地址 | 困难 | JS |
| 剑指 Offer 38. 字符串的排列 | 力扣地址 | 中等 | JS |
| 剑指 Offer 39. 数组中出现次数超过一半的数字 | 力扣地址 | 简单 | JS |
| 剑指 Offer 40. 最小的k个数 | 力扣地址 | 简单 | JS |
| 剑指 Offer 41. 数据流中的中位数 | 力扣地址 | 困难 | JS |
| 剑指 Offer 42. 连续子数组的最大和 | 力扣地址 | 简单 | JS |
| 剑指 Offer 43. 1~n 整数中 1 出现的次数 | 力扣地址 | 困难 | JS |
| 剑指 Offer 44. 数字序列中某一位的数字 | 力扣地址 | 中等 | JS |
| 剑指 Offer 45. 把数组排成最小的数 | 力扣地址 | 中等 | JS |
| 剑指 Offer 46. 把数字翻译成字符串 | 力扣地址 | 中等 | JS |
| 剑指 Offer 47. 礼物的最大价值 | 力扣地址 | 中等 | JS |
| 剑指 Offer 48. 最长不含重复字符的子字符串 | 力扣地址 | 中等 | JS |
| 剑指 Offer 49. 丑数 | 力扣地址 | 中等 | JS |
| 剑指 Offer 50. 第一个只出现一次的字符 | 力扣地址 | 简单 | JS |
| 剑指 Offer 51. 数组中的逆序对 | 力扣地址 | 困难 | JS |
| 剑指 Offer 52. 两个链表的第一个公共节点 | 力扣地址 | 简单 | JS |
| 剑指 Offer 53 - I. 在排序数组中查找数字 I | 力扣地址 | 简单 | JS |
| 剑指 Offer 53 - II. 0~n-1中缺失的数字 | 力扣地址 | 简单 | JS |
| 剑指 Offer 54. 二叉搜索树的第k大节点 | 力扣地址 | 简单 | JS |
| 剑指 Offer 55 - I. 二叉树的深度 | 力扣地址 | 简单 | JS |
| 剑指 Offer 55 - II. 平衡二叉树 | 力扣地址 | 简单 | JS |
| 剑指 Offer 56 - I. 数组中数字出现的次数 | 力扣地址 | 中等 | JS |
| 剑指 Offer 56 - II. 数组中数字出现的次数 II | 力扣地址 | 中等 | JS |
| 剑指 Offer 57. 和为s的两个数字 | 力扣地址 | 简单 | JS |
| 剑指 Offer 57 - II. 和为s的连续正数序列 | 力扣地址 | 简单 | JS |
| 剑指 Offer 58 - I. 翻转单词顺序 | 力扣地址 | 简单 | JS |
| 剑指 Offer 58 - II. 左旋转字符串 | 力扣地址 | 简单 | JS |
| 剑指 Offer 59 - I. 滑动窗口的最大值 | 力扣地址 | 困难 | JS |
| 剑指 Offer 59 - II. 队列的最大值 | 力扣地址 | 中等 | JS |
| 剑指 Offer 60. n个骰子的点数 | 力扣地址 | 中等 | JS |
| 剑指 Offer 61. 扑克牌中的顺子 | 力扣地址 | 简单 | JS |
| 剑指 Offer 62. 圆圈中最后剩下的数字 | 力扣地址 | 简单 | JS |
| 剑指 Offer 63. 股票的最大利润 | 力扣地址 | 中等 | JS |
| 剑指 Offer 64. 求1+2+…+n | 力扣地址 | 中等 | JS |
| 剑指 Offer 65. 不用加减乘除做加法 | 力扣地址 | 简单 | JS |
| 剑指 Offer 66. 构建乘积数组 | 力扣地址 | 中等 | JS |
| 剑指 Offer 67. 把字符串转换成整数 | 力扣地址 | 中等 | JS |
| 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 | 力扣地址 | 简单 | JS |
| 剑指 Offer 68 - II. 二叉树的最近公共祖先 | 力扣地址 | 简单 | JS |