[剑指offer]8. 二叉树的镜像

题目连接:戳这里
题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像。
例如输入:
1.png
镜像输出:
2.png
解题思路;采用递归思路,依次往下翻转镜像。
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;
    }
}
相关文章
相关标签/搜索