题解 | #对称的二叉树#

对称的二叉树

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

/**
 * struct TreeNode {
 *  int val;
 *  struct TreeNode *left;
 *  struct TreeNode *right;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param pRoot TreeNode类
 * @return bool布尔型
 */

bool isSame(struct TreeNode*pleft,struct TreeNode*pright)
{
    //首先先判断结构是否相同
    if(pleft==NULL&&pright==NULL)
        return true;
    if(pleft==NULL&&pright!=NULL)
        return false;
    if(pleft!=NULL&&pright==NULL)
        return false;
    if(pleft->val!=pright->val)
        return false;
    return isSame(pleft->left,pright->right)&&isSame(pleft->right,pright->left); 
}
bool isSymmetrical(struct TreeNode* pRoot )
{
    //还是采取模块的方式来判断
    //前序遍历的方式来判断是否相同
    if(pRoot==NULL)
    {
        return true;
    }
    return isSame(pRoot->left,pRoot->right);
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-16 14:00
机械打工仔:来挂自己了,经典巨婴从校园投入职场
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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