给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
1
/
2 2
/ \ /
3 4 4 3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1
/
2 2
\
3 3
class Solution {
public boolean isSymmetric(TreeNode root) {
if(root==null) return true;
return isMirror(root,root);
}
public boolean isMirror(TreeNode l1,TreeNode l2){
if(l1==null&&l2==null){
return true;
}
if(l1==null||l2==null){
return false;
}
if(l1.val!=l2.val){
return false;
}
return isMirror(l1.left,l2.right)&&isMirror(l1.right,l2.left);
}
}