Skip to content

Commit fcd0185

Browse files
authored
Merge pull request #540 from gitsunmin/main
[gitsunmin] Week 10 Solutions
2 parents a3c9195 + f3a850c commit fcd0185

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

invert-binary-tree/gitsunmin.ts

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* https://leetcode.com/problems/invert-binary-tree/
3+
* time complexity : O(n)
4+
* space complexity : O(log N)
5+
*/
6+
7+
class TreeNode {
8+
val: number
9+
left: TreeNode | null
10+
right: TreeNode | null
11+
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
12+
this.val = (val === undefined ? 0 : val)
13+
this.left = (left === undefined ? null : left)
14+
this.right = (right === undefined ? null : right)
15+
}
16+
}
17+
18+
export const dfs = (root: TreeNode | null, inverted: TreeNode | null): TreeNode | null => {
19+
if (!root) return null;
20+
21+
const left = dfs(root.left, inverted);
22+
const right = dfs(root.right, inverted);
23+
24+
root.left = right;
25+
root.right = left;
26+
27+
return root;
28+
};
29+
30+
function invertTree(root: TreeNode | null): TreeNode | null {
31+
if (!root) return null;
32+
33+
return dfs(root, new TreeNode(0));
34+
};

0 commit comments

Comments
 (0)