1. /**
    2. * 经典的使用递归处理树的问题
    3. */
    4. public class Solution {
    5. public TreeNode invertTree(TreeNode root) {
    6. //1:递归结束条件,当这个节点是空了就返回
    7. if(root == null){
    8. return null;
    9. }
    10. //2:递归方法,也就是我们题的内容,把当前节点的左右子树交换
    11. TreeNode temp = root.left;
    12. root.left = root.right;
    13. root.right = temp;
    14. //3: 递归去处理当前节点的左右字树
    15. invertTree(root.left);
    16. invertTree(root.right);
    17. return root;
    18. }
    19. }