Skip to content

Commit e6f65c0

Browse files
committed
invert-binary-tree solution
1 parent f989781 commit e6f65c0

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

invert-binary-tree/chjung99.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/**
2+
* time: O(n)
3+
* space: O(n)
4+
*/
5+
6+
import java.util.*;
7+
8+
/**
9+
* Definition for a binary tree node.
10+
* public class TreeNode {
11+
* int val;
12+
* TreeNode left;
13+
* TreeNode right;
14+
* TreeNode() {}
15+
* TreeNode(int val) { this.val = val; }
16+
* TreeNode(int val, TreeNode left, TreeNode right) {
17+
* this.val = val;
18+
* this.left = left;
19+
* this.right = right;
20+
* }
21+
* }
22+
*/
23+
class Solution {
24+
public TreeNode invertTree(TreeNode root) {
25+
breadthFirstSearch(root);
26+
return root;
27+
}
28+
public void breadthFirstSearch(TreeNode node){
29+
Deque<TreeNode> queue = new ArrayDeque<>();
30+
if (node != null){
31+
queue.add(node);
32+
}
33+
34+
while (!queue.isEmpty()){
35+
TreeNode cur = queue.remove();
36+
37+
TreeNode tmp = cur.left;
38+
cur.left = cur.right;
39+
cur.right = tmp;
40+
41+
if (cur.left != null){
42+
queue.add(cur.left);
43+
}
44+
if (cur.right != null){
45+
queue.add(cur.right);
46+
}
47+
}
48+
}
49+
}

0 commit comments

Comments
 (0)