剑指offer之 二叉树镜像

package Problem19;

/*
 * 问题描述:
 * 请完成一个函数,输入一个二叉树,该函数输出它的镜像;
 */

//定义二叉树的结构
class BinaryTreeNode {
    BinaryTreeNode leftNode;
    BinaryTreeNode rightNode;
    int value;
}

public class MirrorOfBinaryTree {

    public static void mirroOfBinTree(BinaryTreeNode root) {
        if (root == null) {
            return;
        }
        if (root.leftNode == null || root.rightNode == null) {
            return;
        }
        // 交换一个结点的左右子节点
        int tempValue;
        tempValue = root.leftNode.value;
        root.leftNode.value = root.rightNode.value;
        root.rightNode.value = tempValue;
        // 递归操作左右子节点
        if (root.leftNode != null) {
            mirroOfBinTree(root.leftNode);
        }
        if (root.rightNode != null) {
            mirroOfBinTree(root.rightNode);
        }
    }

  

原文地址:https://www.cnblogs.com/toov5/p/7657900.html