Skip to content

Commit

Permalink
Merge pull request #540 from gitsunmin/main
Browse files Browse the repository at this point in the history
[gitsunmin] Week 10 Solutions
  • Loading branch information
gitsunmin authored Oct 19, 2024
2 parents a3c9195 + f3a850c commit fcd0185
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions invert-binary-tree/gitsunmin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/**
* https://leetcode.com/problems/invert-binary-tree/
* time complexity : O(n)
* space complexity : O(log N)
*/

class TreeNode {
val: number
left: TreeNode | null
right: TreeNode | null
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = (val === undefined ? 0 : val)
this.left = (left === undefined ? null : left)
this.right = (right === undefined ? null : right)
}
}

export const dfs = (root: TreeNode | null, inverted: TreeNode | null): TreeNode | null => {
if (!root) return null;

const left = dfs(root.left, inverted);
const right = dfs(root.right, inverted);

root.left = right;
root.right = left;

return root;
};

function invertTree(root: TreeNode | null): TreeNode | null {
if (!root) return null;

return dfs(root, new TreeNode(0));
};

0 comments on commit fcd0185

Please sign in to comment.