汇总一下完成的剑指offer解题,每道题都尽量按照一定格式书写记录,方便查阅回顾。
题目 | 关键词 |
| |
4、二维数组中的查找 | 矩阵查找,缩小搜索范围 |
25、合并两个排序的链表 | 链表,递归,指针 |
26、树的子结构 | 树,树的遍历,递归,指针 |
27、二叉树镜像 | 抽象问题,前序遍历,递归 |
28、对称的二叉树 | 前序遍历,对称前序遍历(含二叉树遍历汇总) |
29、顺时针打印矩阵 | |
30、包含min函数的栈 | 栈 |
31、栈的压入、弹出序列 | 栈 |
32、从上到下打印二叉树 | 按层遍历,二叉树 + 队列 |
之字形打印二叉树 | 按层遍历,二叉树 + 栈 |
33、二叉搜索树的后序遍历序列 | 后序遍历,递归 |
34、二叉树中和为某一值的路径 | 二叉树路径,满足一定条件,前序遍历,递归(压栈出栈) |
35、复杂链表的复制 | 复制链表,图形化 |
36、二叉搜索树与双向链表 | 树 + 链表,中序遍历(大小排序),递归(递归后语句执行顺序) |
37、序列化二叉树 | 前序遍历,递归,理解还不透彻 |
38、字符串的排列 | 递归 |
39、数组中出现次数超过数组长度一半的数字 | 排序O(nlogn),快排,递归,数组中任意第k大的数字(O(n))、数组中的主要元素 |
40、最小的k个数 | 堆,大顶堆,红黑树,堆排序 |
41、数据流中的中位数 | 堆排序,大顶堆(下沉sink),小顶堆(上游swim) |
42、连续子数组的最大和 | 动态规划保证时间复杂度为o(n),基于循环实现动态规划 |
43、1到n整数中1出现的次数 | 按位统计 |