难度 easy
翻转一棵二叉树。
示例:
输入:
 4
/   
2     7
/ \   / 
1   3 6   9
输出:
 4
/   
7     2
/ \   / 
9   6 3   1
备注:
这个问题是受到 Max Howell 的 原问题 启发的 :
解题思路:这道题比较简单,就是用递归的方式求解的,如果root是空节点或者没有子节点,那直接返回,否则交换root的左右节点(即使有一个是空的也当作存在),然后分别对左右子节点调用递归函数。
代码 t100 s34 java
class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root==null || (root.left==null && root.right==null)) return root;
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
        root.left = invertTree(root.left);
        root.right = invertTree(root.right);
        return root;        
    }
}
参考资料
原文:https://www.cnblogs.com/zhengxch/p/14604738.html