Skip to content

Commit 6d6de99

Browse files
committed
feat: Upload invert-binary-tree(typescript)
1 parent 356e622 commit 6d6de99

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

invert-binary-tree/mike2ox.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* Source: https://leetcode.com/problems/invert-binary-tree/
3+
* 풀이방법: 재귀를 이용하여 트리를 뒤집음
4+
*
5+
* 시간복잡도: O(n) - n은 트리의 노드 수
6+
* 공간복잡도: O(n) - 재귀 호출에 따른 스택 메모리
7+
*
8+
* 다른 풀이방법
9+
* - BFS를 이용하여 풀이
10+
* - 스택을 이용하여 풀이
11+
*/
12+
13+
/**
14+
* Definition for a binary tree node.
15+
* class TreeNode {
16+
* val: number
17+
* left: TreeNode | null
18+
* right: TreeNode | null
19+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
20+
* this.val = (val===undefined ? 0 : val)
21+
* this.left = (left===undefined ? null : left)
22+
* this.right = (right===undefined ? null : right)
23+
* }
24+
* }
25+
*/
26+
27+
function invertTree(root: TreeNode | null): TreeNode | null {
28+
if (!root) return null;
29+
30+
const result = new TreeNode(
31+
root.val,
32+
invertTree(root.right),
33+
invertTree(root.left)
34+
);
35+
return result;
36+
}

0 commit comments

Comments
 (0)