先把左右子树换完,再递归交换更小棵的左右子树
import java.util.*;
public class Solution {
public TreeNode Mirror (TreeNode pRoot) {
// write code here
if(pRoot == null) return null;
TreeNode tempNode = pRoot.left;
pRoot.left=pRoot.right;
pRoot.right=tempNode;
Mirror(pRoot.left);
Mirror(pRoot.right);
return pRoot;
}
}
二叉树的翻转,一个内容
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null) return null;
//翻转,从最下面的节点开始,后序遍历;从最下面的节点开始,前序列;都可以
invertTree(root.left);
invertTree(root.right);
//翻转
swape(root);
return root;
}
public void swape(TreeNode root) {
TreeNode leftNode = root.left;
root.left = root.right;
root.right= leftNode;
}
}