note: 非常简单的二叉树题目,常规递归就可以解决。
题目
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
例如输入:
4
/ \
2 7
/ \ / \
1 3 6 9镜像输出:
1 | 4 |
示例 1:
1 | 输入:root = [4,2,7,1,3,6,9] |
限制:
1 | 0 <= 节点个数 <= 1000 |
方法:递归
思路
经典的二叉树问题,从根节点出发,依次交换左右子树,递归进行。
递归终止条件:
到达空叶子节点
递归体:
对左右叶子进行递归镜像,然后交换位置,返回给父节点
返回
当前节点
代码
1 | /** |
复杂度分析
- 时间复杂度$O(n)$。需要遍历所有节点
- 空间复杂度$O(n)$。递归栈的深度和节点数相同。
原文链接: https://zijian.wang/2021/07/06/27. 二叉树的镜像/
版权声明: 转载请注明出处.