题解 | #对称的二叉树#

对称的二叉树

http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb

使用递归的方式,如果是镜像树,左子树和右子树节点值相同,且左子树的左节点与右子树的右节点相等,左子树的右节点和右子树的左节点相等。

    boolean isSymmetrical(TreeNode pRoot) {
        if(pRoot==null){
            return false;
        }
        return Symmerical(pRoot.left,pRoot.right);

    }
    public boolean Symmerical(TreeNode Lroot,TreeNode Rroot){
    
        if(Lroot!=null&&Rroot!=null){
            if(Lroot.val==Rroot.val){
                return Symmerical(Lroot.left,Rroot.right)&&Symmerical(Lroot.right,Rroot.left);
            }
            //不为空但是值不相等情况
            else{
                return false;
            }

        }
        //其中一个节点为空
        else if(Lroot!=null&&Rroot==null||Rroot!=null&&Lroot==null){
            return false;

        }
        return true;
    }

}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务