题目
解法
public class BSTNode<T extends Comparable<T>> {
T key;
BSTNode<T> left;
BSTNode<T> right;
BSTNode<T> parent;
public BSTNode(T key, BSTNode<T> parent, BSTNode<T> left, BSTNode<T> right) {
this.key = key;
this.parent = parent;
this.left = left;
this.right = right;
}
}
/**
* 二叉树镜像
*
* 思路: 将二叉树所有左子结点和右子节点互换即可
*
* @param tree
* @return
*/
public static BSTNode<Integer> mirrorTree(BSTNode<Integer> tree) {
if (tree != null) {
BSTNode temp = tree.left;
tree.left = tree.right;
tree.right = temp;
// 递归
mirrorTree(tree.left);
mirrorTree(tree.right);
}
return tree;
}