【力扣—剑指 Offer(第 2 版)简单题目解析汇总】
- 简单题目共计38道,按照标签分类为:基本、算法、基础数据结构、技巧等,具体如下。
字符串
- 剑指 Offer 05. 替换空格.
- 剑指 Offer 50. 第一个只出现一次的字符.
- 剑指offer–58-1.翻转单词顺序.
- 剑指 Offer 58 - II. 左旋转字符串.
数组
- 剑指 Offer 11. 旋转数组的最小数字.
- 剑指 Offer 17. 打印从1到最大的n位数.
- 剑指 Offer 29. 顺时针打印矩阵.
- 剑指 Offer 42. 连续子数组的最大和.
- 剑指 Offer 53 - I. 在排序数组中查找数字 l .
- 剑指 Offer 53 - II. 0~n-1中缺失的数字.
- 剑指 Offer 57. 和为s的两个数字.
数组 - 排序
- 剑指 Offer 03. 数组中重复的数字.
- 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面.
- 剑指 Offer 39. 数组中出现次数超一半的数字.
- 剑指 Offer 40. 最小的k个数.
- 剑指 Offer 61. 扑克牌中的顺子.
矩阵/模拟
- 剑指 Offer 29. 顺时针打印矩阵.
枚举
- 剑指 Offer 57. 和为s的两个数字.
动态规划
-
剑指 Offer 10- I. 斐波那契数列.
-
剑指 Offer 10- II. 青蛙跳台阶问题.
-
剑指 Offer 42. 连续子数组的最大和.
-
剑指 Offer 62. 圆圈中最后剩下的数字.(动态规划)
深度优先搜索
-
剑指 Offer 27. 二叉树的镜像.
-
剑指 Offer 28. 对称的二叉树.
-
剑指 Offer 54. 二叉搜索树的第k大节点.
-
剑指 Offer 55 - I. 二叉树的深度.
-
剑指 Offer 55 - II. 平衡二叉树.
-
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先.
-
剑指 Offer 68 - II. 二叉树的最近公共祖先.
广度优先搜索
- 剑指 Offer 27. 二叉树的镜像.
- 剑指 Offer 28. 对称的二叉树.
- 剑指 Offer 32 - II. 从上到下打印二叉树 II.
- 剑指 Offer 55 - I. 二叉树的深度.
递归
-
剑指 Offer 06. 从尾到头打印链表.
-
剑指 Offer 24. 反转链表.
-
剑指 Offer 25. 合并两个排序的链表.
-
剑指 Offer 62. 圆圈中最后剩下的数字.
分治
- 剑指 Offer 39. 数组中出现次数超一半的数字.
- 剑指 Offer 40. 最小的k个数.
- 剑指 Offer 42. 连续子数组的最大和.
记忆化搜索
- 剑指 Offer 10- I. 斐波那契数列.
- 剑指 Offer 10- II. 青蛙跳台阶问题.
快速选择
- 剑指 Offer 40. 最小的k个数.
二分查找
-
剑指 Offer 11. 旋转数组的最小数字.
-
剑指 Offer 53 - I. 在排序数组中查找数字 l .
-
剑指 Offer 53 - II. 0~n-1中缺失的数字.
-
剑指 Offer 57. 和为s的两个数字.
树(二叉树)
-
剑指 Offer 27. 二叉树的镜像.
-
剑指 Offer 28. 对称的二叉树.
-
剑指 Offer 32 - II. 从上到下打印二叉树 II.
-
剑指 Offer 55 - I. 二叉树的深度.
-
剑指 Offer 55 - II. 平衡二叉树.
-
剑指 Offer 68 - II. 二叉树的最近公共祖先.
二叉搜索树
- 剑指 Offer 54. 二叉搜索树的第k大节点.
- 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先.
栈
- 剑指 Offer 06. 从尾到头打印链表.
- 剑指 Offer 09. 用两个栈实现队列.
- 剑指 Offer 30. 包含min函数的栈.
队列
- 剑指 Offer 09. 用两个栈实现队列.
- 剑指 Offer 50. 第一个只出现一次的字符.
堆(优先队列)
- 剑指 Offer 40. 最小的k个数.
哈希表
- 剑指 Offer 03. 数组中重复的数字.
- 剑指 Offer 39. 数组中出现次数超过一半的数字.
- 剑指 Offer 50. 第一个只出现一次的字符.
- 剑指 Offer 52. 两个链表的第一个公共节点.
- 剑指 Offer 53 - II. 0~n-1中缺失的数字.
链表
- 剑指 Offer 06. 从尾到头打印链表.
- 剑指 Offer 18. 删除链表的节点.
- 剑指 Offer 22. 链表中倒数第k个节点.
- 剑指 Offer 24. 反转链表.
- 剑指 Offer 25. 合并两个排序的链表.
- 剑指 Offer 52. 两个链表的第一个公共节点.
双指针
-
剑指 Offer 06. 从尾到头打印链表.
-
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面.
-
剑指 Offer 22. 链表中倒数第k个节点.
-
剑指 Offer 52. 两个链表的第一个公共节点.
-
剑指 Offer 57. 和为s的两个数字.
-
剑指 Offer 57 - II. 和为s的连续正数序列.(双指针)
-
剑指offer–58-1.翻转单词顺序.
-
剑指 Offer 58 - II. 左旋转字符串.
位运算
- 剑指 Offer 15. 二进制中1的个数.
- 剑指 Offer 53 - II. 0~n-1中缺失的数字.
- 剑指 Offer 65. 不用加减乘除做加法.(位运算)
计数
-
剑指 Offer 39. 数组中出现次数超一半的数字.
-
剑指 Offer 50. 第一个只出现一次的字符.
设计
- 剑指 Offer 09. 用两个栈实现队列.
- 剑指 Offer 30. 包含min函数的栈.