by ripitrust on 6/13/15, 9:14 AM with 49 comments
by de_Selby on 6/13/15, 10:27 AM
> @rogerdai16 to min-max the tree, ascending to descending.
by mgraczyk on 6/13/15, 10:21 AM
def invertTree(self, root):
if root is not None:
tmp = root.left
root.left = self.invertTree(root.right)
root.right = self.invertTree(tmp)
return root
by meggar on 6/13/15, 12:03 PM
<html>
<style>
pre {
-webkit-transform:scaleX(-1);
-moz-transform:scaleX(-1);
-ms-transform:scaleX(-1);
-o-transform:scaleX(-1);
transform:scaleX(-1);
}
</style>
<pre>
4
/ \
2 7
/ \ / \
1 3 6 9
</pre>
</html>
by diminish on 6/13/15, 10:40 AM
by cousin_it on 6/13/15, 11:52 AM
by raverbashing on 6/13/15, 10:44 AM
But it's an interesting concept, I've had to use a similar one in the past for a job interview.
by djhworld on 6/13/15, 11:22 AM
by AYBABTME on 6/13/15, 10:36 AM
by ripitrust on 6/13/15, 10:39 AM
TreeNode* invertTree(TreeNode* root) { if (root) { TreeNode* temp = root->left; root->left = invertTree(root->right); root->right = invertTree(temp); } return root; }
by wfunction on 6/13/15, 10:30 AM
def inverse(t): return Node(inverse(t.r), t.v, inverse(t.l)) if t else t
or if you must do it in place, 3 lines... def invert(t):
if t: (t.l, t.r) = (invert(t.r), t.v, invert(t.l))
return t
by ExpiredLink on 6/13/15, 10:45 AM
by adnanh on 6/13/15, 11:39 AM
var invertTree = function(root) {
if (!root) return null;
root.right = [invertTree(root.left), root.left = invertTree(root.right)][0];
return root;
};
by jbrooksuk on 6/13/15, 10:58 AM
by fishnchips on 6/13/15, 1:22 PM