[AcWing]38. 二叉树的镜像
[AcWing]38. 二叉树的镜像
输入一个二叉树,将它变换为它的镜像。
数据范围
树中节点数量 [0,100]
。
样例
1 |
|
算法思路
仔细观察发现,镜像就是:
利用这个性质,抽象一下就是:递归遍历这个树,交换其左右子树
。
代码实现
1 |
|
上面的代码虽然简单,但还是可以分析一下。
- 从宏观上来看:这是个交换左右子树的过程。
- 从微观上来看:这是个先找到叶子结点,从下面开始交换左右节点的过程。(函数递归调用栈)
时间复杂度
原树仅被遍历一次,所以时间复杂度是 O(n)
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Phbeats-Blog!
评论