[LeetCode] Invert Binary Tree

Invert a binary tree.

     4

   /   \

  2     7

 / \   / \

1   3 6   9

to

     4

   /   \

  7     2

 / \   / \

9   6 3   1

思路:利用temp进行交换,采用递归从顶至下,终止条件本身为空或者是叶子节点。
时间复杂度:O(n)
代码:
    public TreeNode invertTree(TreeNode root) {

        if(root==null || (root.left==null && root.right==null)) return root;

        TreeNode tempNode=null;

        tempNode=root.left;

        root.left=root.right;

        root.right=tempNode;

        invertTree(root.left);

        invertTree(root.right);

        return root;

    }

优化:

扩展:

你可能感兴趣的:(LeetCode)