请完成一个函数,输入一个二叉树,该函数输出它的镜像。
题解
- 本题比较简单,核心思想就是先进行判空检验操作。
- 随后对左孩子和右孩子进行交换
- 核心就是对左右子树进行递归操作
- 最后返回根节点
class Solution {
public TreeNode mirrorTree(TreeNode root) {
// 首先进行判空操作
if(root == null){
return null;
}
if(root.left == null && root.right == null){
return root;
}
// 二叉树的镜像就是将二叉树的左右子树进行交换
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
// 二叉树的任何题都离不开递归
if(root.left!=null){
mirrorTree(root.left);
}
if(root.right!=null){
mirrorTree(root.right);
}
// 最后返回根节点
return root;
}
}