package com.camnter.basicexercises.tree;
import com.camnter.basicexercises.core.TreeNode;
/**
* 反转二叉树
*
* - 1
* - 2 3
* - 4 5 6
* - 7 8
*
* - 1
* - 3 2
* - 6 5 4
* - 8 7
*
* @author CaMnter
*/
public class ReverseTreeRecursive {
private TreeNode reverseTree(TreeNode root) {
if (root != null) {
reverse(root);
}
return root;
}
private void reverse(TreeNode root) {
if (root != null) {
TreeNode t = root.left;
root.left = root.right;
root.right = t;
reverse(root.left);
reverse(root.right);
}
}
public static void main(String args[]) {
ReverseTreeRecursive reverseTreeRecursive = new ReverseTreeRecursive();
CountLayer countLayer = new CountLayer();
countLayer.countLayer(reverseTreeRecursive.reverseTree(TreeNode.getTree()));
}
}