File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * public class TreeNode {
4
+ * int val;
5
+ * TreeNode left;
6
+ * TreeNode right;
7
+ * TreeNode() {}
8
+ * TreeNode(int val) { this.val = val; }
9
+ * TreeNode(int val, TreeNode left, TreeNode right) {
10
+ * this.val = val;
11
+ * this.left = left;
12
+ * this.right = right;
13
+ * }
14
+ * }
15
+ */
16
+ class Solution {
17
+ // 풀이: child node로 내려가면서 재귀로 계속 left와 right를 바꿔준다.
18
+ // TC: O(N)
19
+ // SC: O(N)
20
+ public TreeNode invertTree (TreeNode root ) {
21
+ return invert (root );
22
+ }
23
+
24
+ private TreeNode invert (TreeNode node ) {
25
+ if (node == null ) {
26
+ return node ;
27
+ }
28
+
29
+ node = swap (node );
30
+
31
+ invert (node .left );
32
+ invert (node .right );
33
+
34
+ return node ;
35
+ }
36
+
37
+ private TreeNode swap (TreeNode node ) {
38
+ var temp = node .left ;
39
+ node .left = node .right ;
40
+ node .right = temp ;
41
+
42
+ return node ;
43
+ }
44
+ }
You can’t perform that action at this time.
0 commit comments