Skip to content

Commit bdb5557

Browse files
committed
invert binary tree solved
1 parent 71da372 commit bdb5557

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

invert-binary-tree/mintheon.java

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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+
}

0 commit comments

Comments
 (0)