Mirror binay tree - Java
public class TreeNode {
private TreeNode left;
private TreeNode right;
private Object value;
public TreeNode getLeft() {
return left;
}
public TreeNode setLeft(TreeNode left) {
this.left = left;
return this;
}
public TreeNode getRight() {
return right;
}
public TreeNode setRight(TreeNode right) {
this.right = right;
return this;
}
public Object getValue() {
return value;
}
public TreeNode setValue(Object value) {
this.value = value;
return this;
}
}
public class Mirror {
public static TreeNode getMirror(TreeNode root){
if(root == null)
return null;
else {
TreeNode temp = new TreeNode();
temp.setValue(root.getValue());
temp.setLeft(getMirror(root.getRight()));
temp.setRight(getMirror(root.getLeft()));
return temp;
}
}
public static void preOrderTraversal(TreeNode root){
if(root != null){
preOrderTraversal(root.getLeft());
System.out.println(root.getValue());
preOrderTraversal(root.getRight());
}
}
public static void main(String[] args) {
TreeNode t1 = new TreeNode();
TreeNode t2 = new TreeNode();
TreeNode t3 = new TreeNode();
TreeNode t4 = new TreeNode();
TreeNode t5 = new TreeNode();
TreeNode t6 = new TreeNode();
t3.setLeft(t2).setRight(t4).setValue(3);
t2.setLeft(t1).setRight(null).setValue(2);
t1.setLeft(null).setRight(null).setValue(1);
t4.setLeft(null).setRight(t5).setValue(4);
t5.setLeft(null).setRight(t6).setValue(5);
t6.setLeft(null).setRight(null).setValue(6);
preOrderTraversal(t3);
System.out.println("\n");
preOrderTraversal(getMirror(t3));
}
}
Output:
1
2
3
4
5
6
6
5
4
3
2
1
private TreeNode left;
private TreeNode right;
private Object value;
public TreeNode getLeft() {
return left;
}
public TreeNode setLeft(TreeNode left) {
this.left = left;
return this;
}
public TreeNode getRight() {
return right;
}
public TreeNode setRight(TreeNode right) {
this.right = right;
return this;
}
public Object getValue() {
return value;
}
public TreeNode setValue(Object value) {
this.value = value;
return this;
}
}
public class Mirror {
public static TreeNode getMirror(TreeNode root){
if(root == null)
return null;
else {
TreeNode temp = new TreeNode();
temp.setValue(root.getValue());
temp.setLeft(getMirror(root.getRight()));
temp.setRight(getMirror(root.getLeft()));
return temp;
}
}
public static void preOrderTraversal(TreeNode root){
if(root != null){
preOrderTraversal(root.getLeft());
System.out.println(root.getValue());
preOrderTraversal(root.getRight());
}
}
public static void main(String[] args) {
TreeNode t1 = new TreeNode();
TreeNode t2 = new TreeNode();
TreeNode t3 = new TreeNode();
TreeNode t4 = new TreeNode();
TreeNode t5 = new TreeNode();
TreeNode t6 = new TreeNode();
t3.setLeft(t2).setRight(t4).setValue(3);
t2.setLeft(t1).setRight(null).setValue(2);
t1.setLeft(null).setRight(null).setValue(1);
t4.setLeft(null).setRight(t5).setValue(4);
t5.setLeft(null).setRight(t6).setValue(5);
t6.setLeft(null).setRight(null).setValue(6);
preOrderTraversal(t3);
System.out.println("\n");
preOrderTraversal(getMirror(t3));
}
}
Output:
1
2
3
4
5
6
6
5
4
3
2
1
Comments
Post a Comment