Invert Binary Tree (easy)

update Jan 22, 2018 16:51

LeetCode

Invert a binary tree.

      4
    /   \
   2     7
  / \   / \
 1   3 6   9
 to
      4
    /   \
   7     2
  / \   / \
 9   6 3   1

Trivia:
This problem was inspired by this original tweet by Max Howell:

Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.

Basic Idea:

只是一个很简单的recursion,但是要注意预先保存root.left的node。

Java Code:

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null) return null;
        TreeNode left = root.left;
        root.left = invertTree(root.right);
        root.right = invertTree(left);
        return root;
    }
}

results matching ""

    No results matching ""