Skip to content

Commit e708303

Browse files
authored
Adding InvertBinaryTree
1 parent 24907ba commit e708303

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

InvertTheBinaryTree.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
Given the root of a binary tree, invert the tree, and return its root.
3+
4+
Example 1:
5+
Input: root = [4,2,7,1,3,6,9]
6+
Output: [4,7,2,9,6,3,1]
7+
*/
8+
9+
import java.util.ArrayList;
10+
import java.util.LinkedList;
11+
import java.util.List;
12+
import java.util.Queue;
13+
14+
public class InvertTheBinaryTree {
15+
public static void main(String[] args) {
16+
TreeNode root=new TreeNode(4);
17+
root.left=new TreeNode(2);
18+
root.right=new TreeNode(7);
19+
root.left.left=new TreeNode(1);
20+
root.left.right=new TreeNode(3);
21+
root.right.left=new TreeNode(6);
22+
root.right.right=new TreeNode(9);
23+
List<Integer> ans=invertTree(root);
24+
System.out.println(ans);
25+
}
26+
public static List<Integer> invertTree(TreeNode root) {
27+
List<Integer> result=new ArrayList<>();
28+
if (root==null){
29+
return result;
30+
}
31+
Queue<TreeNode> queue=new LinkedList<>();
32+
queue.offer(root);
33+
result.add(root.data);
34+
while (!queue.isEmpty()){
35+
int levesize= queue.size();
36+
for (int i = 0; i < levesize; i++) {
37+
TreeNode currentnode=queue.poll();
38+
if (currentnode.right!=null){
39+
queue.offer(currentnode.right);
40+
result.add(currentnode.right.data);
41+
}
42+
if (currentnode.left!=null){
43+
queue.offer(currentnode.left);
44+
result.add(currentnode.left.data);
45+
}
46+
}
47+
}
48+
return result;
49+
}
50+
}
51+
class TreeNode{
52+
int data;
53+
TreeNode left,right;
54+
public TreeNode(int key){
55+
key=data;
56+
left=right=null;
57+
}
58+
}

0 commit comments

Comments
 (0)