题目连接:戳这里
题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像。
例如输入:
镜像输出:
解题思路;采用递归思路,依次往下翻转镜像。
java代码:java
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode mirrorTree(TreeNode root) { TreeNode ans=root; if(root==null){ return null; }else{ return reverse(root); } } public TreeNode reverse(TreeNode root){ TreeNode tmp=null; if(root.left!=null&&root.right!=null){ tmp=root.left; root.left=root.right; root.right=tmp; reverse(root.left); reverse(root.right); }else if(root.left==null&&root.right!=null){ root.left=root.right; root.right=null; reverse(root.left); }else if(root.left!=null&&root.right==null){ root.right=root.left; root.left=null; reverse(root.right); } return root; } }