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

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

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

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

cpp 复制代码
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);
}
相关推荐
Tisfy10 小时前
LeetCode 3740.三个相等元素之间的最小距离 I:今日先暴力,“明日“再哈希
算法·leetcode·哈希算法·题解·模拟·遍历·暴力
网域小星球10 小时前
C语言从0入门(八)|函数基础:封装、调用与参数传递精讲
c语言·开发语言
汀、人工智能11 小时前
[特殊字符] 第77课:最长递增子序列
数据结构·算法·数据库架构·图论·bfs·最长递增子序列
网域小星球11 小时前
C语言从0入门(十)|二维数组详解与矩阵实战
c语言·算法·矩阵·二维数组·数组遍历
网域小星球11 小时前
C 语言从 0 入门(十五)|综合小项目:菜单交互与简易功能实现
c语言·开发语言·交互
澈20711 小时前
堆排序:高效构建大顶堆实战
数据结构·算法·排序算法
网域小星球11 小时前
C 语言从 0 入门(十六)|动态内存管理:malloc /free/calloc /realloc 精讲
c语言·开发语言·free·malloc·动态内存
chh56311 小时前
C++--内存管理
java·c语言·c++·windows·学习·面试
我真不是小鱼11 小时前
cpp刷题打卡记录27——无重复字符的最长子串 & 找到字符串中所有字母的异位词
数据结构·c++·算法·leetcode
XuecWu311 小时前
原生多模态颠覆Scaling Law?解读语言“参数需求型”与视觉“数据需求型”核心差异
人工智能·深度学习·算法·计算机视觉·语言模型