File tree 1 file changed +52
-0
lines changed
1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .util .ArrayDeque ;
2
+ import java .util .Queue ;
3
+
4
+ /**
5
+ * Definition for a binary tree node.
6
+ * public class TreeNode {
7
+ * int val;
8
+ * TreeNode left;
9
+ * TreeNode right;
10
+ * TreeNode() {}
11
+ * TreeNode(int val) { this.val = val; }
12
+ * TreeNode(int val, TreeNode left, TreeNode right) {
13
+ * this.val = val;
14
+ * this.left = left;
15
+ * this.right = right;
16
+ * }
17
+ * }
18
+ */
19
+ //시간복잡도: O(n)
20
+ //공간복잡도: O(n)
21
+ class Solution {
22
+ public TreeNode invertTree (TreeNode root ) {
23
+ if (root == null ) {
24
+ return root ;
25
+ }
26
+
27
+ Queue <TreeNode > queue = new ArrayDeque <>();
28
+ queue .add (root );
29
+
30
+ while (!queue .isEmpty ()) {
31
+ TreeNode cur = queue .poll ();
32
+
33
+ if (cur == null ) {
34
+ continue ;
35
+ }
36
+
37
+ TreeNode temp = cur .left ;
38
+ cur .left = cur .right ;
39
+ cur .right = temp ;
40
+
41
+ if (cur .left != null ) {
42
+ queue .add (cur .left );
43
+ }
44
+
45
+ if (cur .right != null ) {
46
+ queue .add (cur .right );
47
+ }
48
+ }
49
+
50
+ return root ;
51
+ }
52
+ }
You can’t perform that action at this time.
0 commit comments