剑指offer 题解目录(C++)

时间:2022-12-19 19:01:51


序号

题目

知识点

难度

1

​​二维数组中的查找​

数组 查找

较难

2

​​替换空格 ​

字符串

较难

3

​​ 从尾到头打印链表 ​

链表

较难

4

​​重建二叉树​


中等

5

​​ 用两个栈实现队列 ​

队列 栈

简单

6

​​ 旋转数组的最小数字 ​

查找

中等

7

​​斐波那契数列 ​

递归

中等

8

​​跳台阶 ​

递归

中等

9

​​变态跳台阶​

递归

中等

10

​​矩形覆盖​

递归

中等

11

​​二进制中1的个数 ​

数学

中等

12

​​ 数值的整数次方 ​

数学

中等

13

​​调整数组顺序使奇数位于偶数前面 ​

数组

较难

14

​​链表中倒数第k个结点 ​

链表

较难

15

​​ 反转链表 ​

链表

中等

16

​​合并两个排序的链表 ​

链表

中等

17

​​ 树的子结构 ​


较难

18

​​ 二叉树的镜像 ​


简单

19

​​ 顺时针打印矩阵 ​

数组

较难

20

​​包含min函数的栈 ​


较难

21

​​ 栈的压入、弹出序列 ​


中等

22

​​ 从上往下打印二叉树 ​

队列 树

困难

23

​​二叉搜索树的后序遍历序列 ​

树 栈

较难

24

​​二叉树中和为某一值的路径 ​


较难

25

​​ 复杂链表的复制 ​

链表

较难

26

​​ 二叉搜索树与双向链表 ​

树 链表

中等

27

​​字符串的排列​

递归 字符串 动态规划

较难

28

​​ 数组中出现次数超过一半的数字 ​

数组

中等

29

​​最小的K个数 ​

高级算法 数组

较难

30

​​连续子数组的最大和 ​

数组

中等

31

​​整数中1出现的次数(从1到n整数中1出现的次数)​

查找

中等

32

​​ 把数组排成最小的数​

数组

较难

33

​​ 丑数​

穷举

较难

34

​​ 第一个只出现一次的字符位置 ​

字符串

较难

35

​​ 数组中的逆序对​

数组

困难

36

​​两个链表的第一个公共结点 ​

链表

中等

37

​​数字在排序数组中出现的次数 ​

数组

中等

38

​​二叉树的深度 ​


简单

39

​​ 平衡二叉树 ​


中等

40

​​ 数组中只出现一次的数字 ​

数组

中等

41

​​ 和为S的连续正数序列 ​

穷举

中等

42

​​ 和为S的两个数字 ​

双指针 数组

中等

43

​​ 左旋转字符串 ​

字符串

中等

44

​​ 翻转单词顺序列 ​

字符串

较难

45

​​ 扑克牌顺子​

字符串

中等

46

​​ 孩子们的游戏(圆圈中最后剩下的数)​

链表

中等

47

​​求1+2+3+…+n ​

数学

中等

48

​​ 不用加减乘除做加法 ​

数学

简单

49

​​ 把字符串转换成整数 ​

字符串 数学

较难

50

​​ 数组中重复的数字 ​

数组

中等

51

​​构建乘积数组 ​

数组

简单

52

​​ 正则表达式匹配 ​

字符串

较难

53

​​表示数值的字符串 ​

字符串

中等

54

​​ 字符流中第一个不重复的字符 ​

字符串

中等

55

​​ 链表中环的入口结点 ​

链表

中等

56

​​ 删除链表中重复的结点 ​

链表

中等

57

​​ 二叉树的下一个结点 ​


中等

58

​​ 对称的二叉树 ​


困难

59

​​ 按之字形顺序打印二叉树 ​

树 栈

较难

60

​​ 把二叉树打印成多行 ​

树 栈

较难

61

​​ 序列化二叉树 ​

队列 树

较难

62

​​ 二叉搜索树的第k个结点 ​

树 栈

较难

63

​​ 数据流中的中位数 ​

堆 排列

中等

64

​​ 滑动窗口的最大值 ​

数组

较难

65

​​ 矩阵中的路径 ​

dfs 回溯

较难

66

​​ 机器人的运动范围 ​

数组

较难

67

​​ 剪绳子 ​

贪心

中等