剑指offer 18. 面试思路 二叉树的镜像

题目描述

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

输入描述:

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

解题思路使用递归将左右结点交换

代码如下:


public class Mirror {
public void Mirror(TreeNode root) {
if (root==null) {
root=null;
}else {


//交换左右结点
TreeNode node=root.left;

root.left=root.right;

root.right=node;

if (root.left!=null) {
Mirror(root.left);//递归
}
if (root.right!=null) {
Mirror(root.right);//递归
}

}
}

class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;

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

}

}
}

 
 
 

猜你喜欢

转载自www.cnblogs.com/Transkai/p/10886578.html