题目链接: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);
}
}