* ## 查找算法(中等)
1、剑指 Offer 04. 二维数组中的查找
- 题目
- 代码
2、剑指 Offer 11. 旋转数组的最小数字
- 题目
- 代码
3、剑指 Offer 50. 第一个只出现一次的字符
- 题目
- 代码
-
搜索与回溯算法(简单)
4、剑指 Offer 32 - I. 从上到下打印二叉树
- 题目
- 代码
5、 剑指 Offer 32 - II. 从上到下打印二叉树 II
- 题目
- 代码
6、剑指 Offer 32 - III. 从上到下打印二叉树 III
- 题目
- 代码
* 搜索与回溯算法(简单)
7、剑指 Offer 26. 树的子结构
- 题目
-
代码
-
递归函数 判断 两个树是否 完全 相同 , 左子树 == 左子树 右子树 == 右子树
-
还有一点 两颗树 结构符合 有三种情况
1、两颗树完全一样 2、A.left 中有和B 一样的 3、A.right 中有和B 一样的
8、剑指 Offer 27. 二叉树的镜像
- 题目
- 代码
复杂度分析
时间复杂度:O(N)O(N),其中 NN 为二叉树节点的数目。我们会遍历二叉树中的每一个节点,对每个节点而言,我们在常数时间内交换其两棵子树。
空间复杂度:O(N)O(N)。使用的空间由递归栈的深度决定,它等于当前节点在二叉树中的高度。在平均情况下,二叉树的高度与节点个数为对数关系,即 O(\log N)O(logN)。而在最坏情况下,树形成链状,空间复杂度为 O(N)O(N)。
9、剑指 Offer 28. 对称的二叉树
- 题目
- 代码