package com.company;
public class TreeMirror {
static class BinaryTreeNode{
int value ;
BinaryTreeNode left = null;
BinaryTreeNode right = null;
public BinaryTreeNode(int value){
this.value = value;
}
}
public static void main(String[] args){
BinaryTreeNode node = new BinaryTreeNode(1);
BinaryTreeNode node2 = new BinaryTreeNode(2);
BinaryTreeNode node3 = new BinaryTreeNode(2);
BinaryTreeNode node4 = new BinaryTreeNode(3);
BinaryTreeNode node5 = new BinaryTreeNode(3);
BinaryTreeNode node6 = new BinaryTreeNode(3);
BinaryTreeNode node7 = new BinaryTreeNode(3);
node.left = node2;
node.right = node3;
node2.left = node4;
node2.right = node5;
node3.left = node6;
node3.right = node7;
boolean isMirror = isMirror(node);
System.out.println("node is mirror "+isMirror);
}
public static boolean isMirror(BinaryTreeNode node){
return isMirror(node.left,node.right);
}
public static boolean isMirror(BinaryTreeNode left, BinaryTreeNode right){
if(left == null && left == null ){
return true;
}
if(left == null || right == null ){
return false;
}
if(left.value != right.value){
return false;
}
return isMirror(left.left,right.right) && isMirror(left.right, right.left);
}
}