力扣——单值二叉树(C语言)

1.题目:

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值 二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false

2.原理:

这里运用递归,向下递归,判断左右节点是否相等,不相等返回false,直到空节点,这里最后return里是&&,所以只要遇到false,最终回退到根节点也是false,也就不是单值二叉树,反之如果回退回来一直都相等,回退true,就是单值二叉树。

3.整体代码:

cpp 复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool isUnivalTree(struct TreeNode* root) {
    if(root==NULL)
    {
        return true;
    }
    if(root->left&&root->left->val!=root->val)
    {
        return false;
    }
    if(root->right&&root->right->val!=root->val)
    {
        return false;
    }
    return isUnivalTree(root->left)&&isUnivalTree(root->right);
}
相关推荐
2601_9545267514 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
qq_4480111615 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
叩码以求索15 小时前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
c2385617 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa18 小时前
指针之总结
c语言·笔记·算法
宵时待雨18 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz18 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf21618 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
agathakuan19 小时前
Wireshark 解密並導出TLS 1.2 / TLS 1.3 明文的方法(可控制 Client 端)
c语言·wireshark·ssl·openwrt
caimouse19 小时前
protoc-gen-c 支持 proto3 `optional` 关键字修改记录
c语言·学习