您当前的位置: 首页 >  Java

大别山码将

暂无认证

  • 1浏览

    0关注

    126博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

剑指OfferJZ58:对称的二叉树-java版

大别山码将 发布时间:2021-07-13 10:02:17 ,浏览量:1

剑指OfferJZ58:对称的二叉树-java版
      • JZ58:请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

JZ58:请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

在这里插入图片描述

该题判断二叉树是否对称,即判断这颗二叉树的左右两个子树是否为镜像二叉树 详情见:镜像二叉树 在这里插入图片描述

public class jz58 {
    boolean isSymmetrical(TreeNode pRoot) {
        if(pRoot==null){
            return true;
        }
        return solve(pRoot.left,pRoot.right);
    }

    private boolean solve(TreeNode node1, TreeNode node2) {
        if(node1==null && node2==null){//说明左右子树同时都走到头了
            return true;
        }
        if(node1==null || node2==null){//说明左子树走到头右子树没走到头 或者左子树没走到头右子树走到头了,这种情况都表明左右子树不对称
            return false;
        }
        if(node1.val!=node2.val){
            return false;
        }
        return solve(node1.left,node2.right) && solve(node1.right,node2.left);
    }
}

在这里插入图片描述 在这里插入图片描述

关注
打赏
1664364263
查看更多评论
立即登录/注册

微信扫码登录

0.0614s