二叉树的镜像【剑指offer——JAVA实现】

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:53   2719   0

考点:递归和循环】二叉树的镜像

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述:

二叉树的镜像定义:源二叉树 
         8
        /  \
       6   10
      / \  / \
     5  7 9 11
     镜像二叉树
         8
        /  \
       10   6
      / \  / \
     11 9 7  5

解题思路

本题可以用递归进行求解。

代码提交

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    public void Mirror(TreeNode root) {
        root = doMirror(root);
    }
    
    private TreeNode doMirror(TreeNode root) {
        if(root == null) {
            return null;
        }
        
        root.left = doMirror(root.left);
        root.right = doMirror(root.right);
        
        TreeNode left = root.left;
        root.left = root.right; 
        root.right = left;
        return root;
    }
}
更多算法解答请点击 《剑指offer》66题JAVA代码算法实现全集
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP