226. Invert Binary Tree

Description

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.

Solution

/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * Traverse the binary tree with Depth-First Search (DFS) algorithm
 * @param {TreeNode} root
 * @return {TreeNode}
 */
var invertTree = function(root) {
    "use strict";
    if (root) {
        let tmpLeft = root.left;
        root.left = invertTree(root.right);
        root.right = invertTree(tmpLeft);
    }
    return root;
};

results matching ""

    No results matching ""