给定一个二叉树,检查它是否是镜像对称的。

2022-10-26 14:58:37 浏览数 (1)

题目

给定一个二叉树,检查它是否是镜像对称的。

思路分析

判断二叉树是否镜像对称==>(左子树的右节点等于右子树的左节点)&&(右子树的右节点等于左子树的左节点)

代码

代码语言:javascript复制
    public boolean isSymmetric(TreeNode root) {
        if (root == null){
            return true;
        }
        return isMirror(root.left, root.right);
    }

    private boolean isMirror(TreeNode t1, TreeNode t2) {
        if (t1 == null && t2 == null){
            return true;
        }
        if (t1 == null || t2 == null){
            return false;
        }
        if (t1.val != t2.val){
            return false;
        }
        return isMirror(t1.left,t2.right) && isMirror(t1.right, t2.left);
    }

0 人点赞