一、递归前序遍历
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root==null) return root;
TreeNode l=root.left;
TreeNode r=root.right;
root.left=r;
root.right=l;
invertTree(l);
invertTree(r);
return root;
}
}
二、递归中序遍历
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root==null) return root;
TreeNode l=invertTree(root.left);
root.left=root.right;
root.right=l;
invertTree(root.left);
return root;
}
}
三、递归后序遍历
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root==null) return root;
TreeNode l=invertTree(root.left);
TreeNode r=invertTree(root.right);
root.left=r;
root.right=l;
return root;
}
}