代码语言:javascript复制给定一个二叉树,检查它是否是镜像对称的。
class Solution {
/**
递归就完事了
如果同时为空,走到最后了 true
一个为空 返回false
值不一样 false
继续分别遍历他们的 左边右边 右边左边是否相同
*/
public boolean isSymmetric(TreeNode root) {
return is(root,root);
}
public boolean is(TreeNode rootLeft,TreeNode rootRight){
if(rootRight==null&&rootLeft==null){//如果都为空,那么就是真
return true;
}
if(rootLeft==null||rootRight==null){//如果一个为空一个不是空,返回假
return false;
}
if(rootLeft.val!=rootRight.val){ //当前值都不为空但不相等,那么返回
return false;
}
return is(rootLeft.left,rootRight.right)&&is(rootLeft.right,rootRight.left);
}
}