题目链接:https://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011
1. 思路
对于每个非叶子节点,调换其左右子节点,即可实现二叉树的镜像翻转。
本题考查二叉树遍历方式,采用前序、中序、后序和层次遍历均可实现上述操作,每种遍历都可以采用递归或者迭代策略实现。
2. 复杂度
- 时间复杂度:O(n)
- 空间复杂度:O(1)
3. 代码
class Solution {
public void Mirror(TreeNode root) {
if (root == null) {
return;
}
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
Mirror(root.left);
Mirror(root.right);
}
}
本文详细解析了二叉树镜像翻转算法的实现思路,介绍了通过调换每个非叶子节点的左右子节点来实现二叉树镜像翻转的方法。文章讨论了前序、中序、后序及层次遍历等不同遍历方式,并分析了算法的时间复杂度为O(n),空间复杂度为O(1)。
2787

被折叠的 条评论
为什么被折叠?



