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