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