剑指offer——(14)二叉树的镜像(交换二叉树)

版权声明:本文自由转载,转载请注明出处。 https://blog.csdn.net/qq_38071429/article/details/84565154

/**
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 T) {
        if (T==null||(T.left==null&&T.right==null))  return;	    
		 else if(T.left!=null&&T.right==null) {
			 T.right = T.left;
			 T.left = null; //左子树移到右子树了 原来的左子树要置为空 否则出来的树是对称的
	    	 Mirror(T.right);
	     }
	     else if(T.left==null&&T.right!=null) {
	    	 T.left = T.right;
	    	 T.right = null; //同理
	    	 Mirror(T.left);
	     }
	     else {
	    	 TreeNode temp = T.left;
	    	 T.left = T.right;
	    	 T.right = temp;
	    	 Mirror(T.left);
	    	 Mirror(T.right);
	     }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38071429/article/details/84565154