力扣——单值二叉树(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);
}
相关推荐
安忘1 小时前
LeetCode-274.H 指数
算法·leetcode·职场和发展
xxxmmc1 小时前
Leetcode 160 Intersection of Two Linked Lists
算法·leetcode·双指针
VincentStory2 小时前
分享一个项目中遇到的一个算法题
android·算法
极客代码4 小时前
Unix 域套接字(本地套接字)
linux·c语言·开发语言·unix·socket·unix域套接字·本地套接字
ylfhpy4 小时前
Java面试黄金宝典1
java·开发语言·算法·面试·职场和发展
这个懒人5 小时前
SB重删算法详解:原理、架构与实现
c++·算法·哈希算法
达帮主5 小时前
16. C语言二级指针
c语言·开发语言·汇编·青少年编程
Cachel wood5 小时前
Mysql相关知识:存储引擎、sql执行流程、索引失效
android·人工智能·sql·mysql·算法·前端框架·ab测试
代码不停5 小时前
C语言——结构体、联合、枚举
c语言·开发语言·windows
wen__xvn6 小时前
每日一题洛谷P1106 删数问题c++
开发语言·c++·算法