剑指:二叉树的镜像

Posted lisen10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指:二叉树的镜像相关的知识,希望对你有一定的参考价值。

题目描述

输入一个二叉树,将它变换为它的镜像。

输入树:
      8
     /     6  10
   / \\ /   5  7 9 11

 [8,6,10,5,7,9,11,null,null,null,null,null,null,null,null] 
输出树:
      8
     /     10  6
   / \\ /   11 9 7  5

 [8,10,6,11,9,7,5,null,null,null,null,null,null,null,null]

 

 

解法

将根结点的左右孩子互换,之后递归左右孩子。

技术图片

 

/**
 * Definition for a binary tree node.
 * public class TreeNode 
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x)  val = x; 
 * 
 */
class Solution 
    public void mirror(TreeNode root) 
        if (root == null || (root.left == null && root.right == null)) 
            return;
        
        TreeNode t = root.left;
        root.left = root.right;
        root.right = t;
        mirror(root.left);
        mirror(root.right);
    

 

以上是关于剑指:二叉树的镜像的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer 18. 二叉树的镜像 (二叉树)

剑指offer 18. 二叉树的镜像

剑指offer:二叉树的镜像

剑指offer-二叉树的镜像

剑指Offer-Java-二叉树的镜像

剑指offer——二叉树的镜像