力扣——单值二叉树(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);
}
相关推荐
我就是不信8 分钟前
C语言排序问题详解:从冒泡到快排的完整指南
c语言·算法·排序算法
l1t15 分钟前
DeepSeek总结的PIVCO-Huffman编码性能优化
数据结构·c++·算法
-dzk-25 分钟前
【贪心算法】LC 763.划分字母区间
算法·贪心算法
奇牙coding25 分钟前
Codex C接 配置教程:的 字段从迁移时必须写完整后缀,填旧值或省略 会静默回退默认模型
java·c语言·数据库·ai
拾饵94231 分钟前
第六周第二节那个RAG工业项目遇到的问题
算法
强壮的CAT41 分钟前
VINS-Fusion 移植 ROS2 Jazzy 踩坑(一):环境与编译
人工智能·算法·机器人·自动驾驶
Omics Pro1 小时前
计算虚拟扰动:网络毒理+虚拟敲除
数据库·人工智能·算法·机器学习·自然语言处理
yyy(十一月限定版)1 小时前
CF2137D Replace with Occurrences
算法
谢亮_vipxieliang1 小时前
GC 入门:G1 与 ZGC 怎么选
java·jvm·算法
兔小盈1 小时前
有效三角形个数与和为s的两个数字
算法·双指针