剑指offer-二叉树的镜像
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5
二叉树定义
// 二叉树 class BinaryTreeNode { int value; BinaryTreeNode left; BinaryTreeNode right; public BinaryTreeNode(int value) { this.value = value; } }
/** * 先前序遍历这个树的结点,如果该结点有叶子结点,就交换它的两个子结点。 * @param root * @return */ public BinaryTreeNode mirror(BinaryTreeNode root) { if(root != null) { BinaryTreeNode temp = root.left; root.left = root.right; root.right = temp; // 对结点的左右两个子树进行处理 mirror(root.left); mirror(root.right); } return root; }