TOP101题解 | BM31#对称的二叉树#

对称的二叉树

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

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * @author Senky
 * @date 2023.08.01
 * @par url https://www.nowcoder.com/creation/manager/content/584337070?type=column&status=-1
 * @param pRoot TreeNode类 
 * @return bool布尔型
 */
#include <stdbool.h>

// Helper function to check if two trees are mirrors
bool isMirror(struct TreeNode* leftTree, struct TreeNode* rightTree) 
{
    if (leftTree == NULL && rightTree == NULL) 
    {
        //无孩子
        return true;
    }
    if (leftTree == NULL || rightTree == NULL) 
    {
        //只有一个孩子
        return false;
    }

    return (leftTree->val == rightTree->val) &&       //left和right结点的值相等
        isMirror(leftTree->left, rightTree->right) && //left左和right右比较
        isMirror(leftTree->right, rightTree->left);   //left右和right左比较
}

bool isSymmetrical(struct TreeNode* pRoot) 
{
    //根结点空为true
    if (pRoot == NULL) {
        return true;
    }

    return isMirror(pRoot->left, pRoot->right);
}

#TOP101#
TOP101-BM系列 文章被收录于专栏

系列的题解

全部评论

相关推荐

北枳的南橘:建议大家务必去和他沟通一下,像极了小学生对你侃侃而谈国际局势😂
找AI工作可以去哪些公司...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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