Skip to content

Commit 5e79d32

Browse files
committed
#226 solution
1 parent 3fd1291 commit 5e79d32

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

invert-binary-tree/sunginwi.cpp

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
풀이 :
3+
left와 right을 스왑하는 과정을 dfs를 이용해서 끝까지 반복한다
4+
5+
트리의 깊이 : N
6+
7+
TC : O(2^N)
8+
깊이마다 2번씩 재귀함수 호출
9+
10+
SC : O(2^N)
11+
깊이마다 2번씩 재귀함수 호출로 인한 스택 쌓임
12+
*/
13+
14+
/**
15+
* Definition for a binary tree node.
16+
* struct TreeNode {
17+
* int val;
18+
* TreeNode *left;
19+
* TreeNode *right;
20+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
21+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
22+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
23+
* };
24+
*/
25+
class Solution {
26+
public:
27+
TreeNode* invertTree(TreeNode* root) {
28+
if (!root)
29+
return nullptr;
30+
31+
TreeNode* tmp = root->left;
32+
33+
root->left = root->right;
34+
root->right = tmp;
35+
36+
invertTree(root->left);
37+
invertTree(root->right);
38+
39+
return root;
40+
}
41+
};
42+
43+
struct TreeNode {
44+
int val;
45+
TreeNode *left;
46+
TreeNode *right;
47+
TreeNode() : val(0), left(nullptr), right(nullptr) {}
48+
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
49+
TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
50+
};

0 commit comments

Comments
 (0)