5
/ \
3 3
/ \ / \
1 1 4 4
true
class TreeNode{
int val;
TreeNode left;
TreeNode right;
TreeNode(int x){
val = x;
}
}
public class MirrorTree {
public boolean isSymmetric(TreeNode root){
if (root == null){
return true;
}
return isSame(root.left, root.right);
}
private boolean isSame(TreeNode left, TreeNode right) {
if (left == null && right == null){
return true;
}
if (left == null || right == null){
return false;
}
if (left.val != right.val){
return false;
}
return isSame(left.left, right.right) && isSame(left.right, right.left);
}
}