二叉树镜像

问题:

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

  二叉树的镜像定义:源二叉树 

    	    8
    	   /  \
    	  6   10
    	 / \  / \
    	5  7 9 11
    	镜像二叉树
    	    8
    	   /  \
    	  10   6
    	 / \  / \
    	11 9 7  5

分析:采用递归调整。
  (1)既可以自上而下调整,也可以自下而上调整。


code:
  (1):自下而上:
  
public void Mirror(TreeNode root) {
        if(root!=null) {
            Mirror(root.left);
            Mirror(root.right);
            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;
        }
        
    }

  (2)自上而下:

  

public void Mirror(TreeNode root) {
        if(root!=null) {
            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;
            Mirror(root.left);
            Mirror(root.right);
            
        }
        
    }

 

 
posted @ 2020-05-15 09:23  Yrc的楚门的世界  阅读(136)  评论(0编辑  收藏  举报