LeetCode - 965. 单值二叉树(C语言,二叉树,配图)

LeetCode - 965. 单值二叉树(C语言,二叉树,配图)_第1张图片

        二叉树每个节点都具有相同的值,我们就可以比较每个树的根节点与左右两个孩子节点的值是否相同,如果不同返回false,否则,返回true。

        如果是叶子节点,不存在还孩子节点,则这个叶子节点为根的树是单值二叉树。

        如果二叉树从根节点开始递归到叶节点,递归判断根节点与左右孩子节点是否相同。

LeetCode - 965. 单值二叉树(C语言,二叉树,配图)_第2张图片

bool isUnivalTree(struct TreeNode* root) {
    if(root==NULL)
    {
        return true;
    }
    if(root->left !=NULL && root->left->val != root->val)
    {
        return false;
    }
    if(root->right !=NULL && root->right->val != root->val)
    {
        return false;
    }
    return isUnivalTree(root->right) && isUnivalTree(root->left);
}

你可能感兴趣的:(LeetCode,刷题总结,数据结构,leetcode,c语言,算法)