为了方便查询归档,对《剑指offer》做题记录做一个索引文章:
另外,本文所有的代码放在GitHub上
题目:
-
4.重建二叉树[递归]
-
6.旋转数组的最小数字[二分查找]
-
10.矩形覆盖 [和跳台阶的原理相同]
-
11.二进制中1的个数[原码、补码、反码]
-
13.调整数组顺序使奇数位于偶数前面[先创建两个空列表]
-
14.链表中倒数第k个结点[先创建一个空列表]
-
15.反转链表[先创建一个头节点]
-
16.合并两个排序的链表[先创建一个头节点]
-
17.树的子结构[判断是否为字串]
-
18.二叉树的镜像[递归]
-
19.顺时针打印矩阵[使用zip函数]
-
20.包含min函数的栈[构造一个辅助栈]
-
21.栈的压入、弹出序列[构造一个辅助栈]
-
22.从上往下打印二叉树[构造一个辅助队列]
-
23.二叉搜索树的后序遍历序列[递归实现]
-
24.二叉树中和为某一值的路径[深度优先搜索变形]
-
26.二叉搜索树与双向链表[没实现]
-
27.字符串的排列[字符串的全排列]
-
28.数组中出现次数超过一半的数字[用字典,同40题]
-
29.最小的K个数[快速排序]
-
30.连续子数组的最大和[与第41题很相似]
-
31.整数中1出现的次数[有难度]
-
32.把数组排成最小的数[**]
-
33.丑数[丑数怎么计算]
-
34.第一个只出现一次的字符[使用index()]
-
35.数组中的逆序对[no]
-
36.两个链表的第一个公共结点[no]
-
37.数字在排序数组中出现的次数[二分查找]
-
38.二叉树的深度[no]
-
39.平衡二叉树[no]
-
40.数组中只出现一次的数字[用字典,同28题]
-
41.和为S的连续正数序列[与第30题很相似]