1
+ <!DOCTYPE html> < html lang ="en "> < head > < meta charset ="UTF-8 "/> < meta name ="viewport " content ="width=device-width, initial-scale=1.0 "/> < meta http-equiv ="X-UA-Compatible " content ="ie=edge "/> < title > Invert Binary Tree - LeetCode javascript solutions</ title > < link rel ="shortcut icon " href ="https://baffinlee.github.io/leetcode-javascript/static/img/favicon.png " type ="image/png "/> < link rel ="stylesheet " href ="https://baffinlee.github.io/leetcode-javascript/static/css/app.css "/> </ head > < body > < header > < h1 > 226. Invert Binary Tree</ h1 > < div class ="row "> < div class ="name "> Difficulty:</ div > < div class ="value "> < a href ="https://baffinlee.github.io/leetcode-javascript/difficulty/easy " class ="tag "> Easy</ a > </ div > </ div > < div class ="row "> < div class ="name "> Related Topics:</ div > < div class ="value "> < ul class ="clearfix "> < li > < a href ="https://baffinlee.github.io/leetcode-javascript/tag/tree "> Tree</ a > </ li > </ ul > </ div > </ div > < div class ="row "> < div class ="name "> Similar Questions:</ div > < div class ="value "> < ul class ="clearfix "> </ ul > </ div > </ div > </ header > < main > < article class ="markdown-body "> < h2 id ="problem "> Problem</ h2 >
2
+ < p > Invert a binary tree.</ p >
3
+ < p > < strong > Example:</ strong > </ p >
4
+ < p > Input:</ p >
5
+ < pre > < code class ="hljs "> < span class ="hljs-number "> 4</ span >
6
+ / \
7
+ < span class ="hljs-number "> 2</ span > < span class ="hljs-number "> 7</ span >
8
+ / \ / \
9
+ < span class ="hljs-number "> 1</ span > < span class ="hljs-number "> 3</ span > < span class ="hljs-number "> 6</ span > < span class ="hljs-number "> 9</ span >
10
+ </ code > </ pre >
11
+ < p > Output:</ p >
12
+ < pre > < code class ="hljs "> < span class ="hljs-number "> 4</ span >
13
+ / \
14
+ < span class ="hljs-number "> 7</ span > < span class ="hljs-number "> 2</ span >
15
+ / \ / \
16
+ < span class ="hljs-number "> 9</ span > < span class ="hljs-number "> 6</ span > < span class ="hljs-number "> 3</ span > < span class ="hljs-number "> 1</ span >
17
+ </ code > </ pre >
18
+ < p > < strong > Trivia:</ strong >
19
+ This problem was inspired by this original tweet by Max Howell:</ p >
20
+ < p > Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so f*** off.</ p >
21
+ < h2 id ="solution "> Solution</ h2 >
22
+ < pre > < code class ="hljs lang-javascript "> < span class ="hljs-comment "> /**
23
+ * Definition for a binary tree node.
24
+ * function TreeNode(val) {
25
+ * this.val = val;
26
+ * this.left = this.right = null;
27
+ * }
28
+ */</ span >
29
+ < span class ="hljs-comment "> /**
30
+ * @param {TreeNode} root
31
+ * @return {TreeNode}
32
+ */</ span >
33
+ < span class ="hljs-keyword "> var</ span > invertTree = < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > (< span class ="hljs-params "> root</ span > ) </ span > {
34
+ < span class ="hljs-keyword "> if</ span > (root) {
35
+ swap(root);
36
+ invertTree(root.left);
37
+ invertTree(root.right);
38
+ }
39
+ < span class ="hljs-keyword "> return</ span > root;
40
+ };
41
+
42
+ < span class ="hljs-keyword "> var</ span > swap = < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > (< span class ="hljs-params "> node</ span > ) </ span > {
43
+ < span class ="hljs-keyword "> var</ span > left = node.left;
44
+ node.left = node.right;
45
+ node.right = left;
46
+ };
47
+ </ code > </ pre >
48
+ < p > < strong > Explain:</ strong > </ p >
49
+ < p > nope.</ p >
50
+ < p > < strong > Complexity:</ strong > </ p >
51
+ < ul >
52
+ < li > Time complexity : O(n).</ li >
53
+ < li > Space complexity : O(n).</ li >
54
+ </ ul > </ article > </ main > < footer > < a href ="https://github.com/BaffinLee/leetcode-javascript " target ="_blank "> < img src ="https://baffinlee.github.io/leetcode-javascript/static/img/github.png " alt ="github "/> </ a > </ footer > </ body > </ html >
0 commit comments