import java.util.*;

/*

  • public class TreeNode {
  • int val = 0;
  • TreeNode left = null;
  • TreeNode right = null;
  • public TreeNode(int val) {
  • this.val = val;
    
  • }
  • } */

public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pRoot TreeNode类 * @return TreeNode类 */ public TreeNode Mirror (TreeNode pRoot) { // write code here if(pRoot==null) return null; TreeNode tmp = pRoot.left; pRoot.left = pRoot.right; pRoot.right = tmp; Mirror(pRoot.left); Mirror(pRoot.right); return pRoot;

}

}

从根节点开始

1.若根节点为空,则返回空;

2.若根节点不为空,则交换其左右子树;

3.递归调用,对根节点的左节点和右节点递归调用镜像函数,即每个节点的左右节点交换。

4.返回根节点。