【C语言题解】 | 965. 单值二叉树

965. 单值二叉树

在这里插入图片描述
提示:

  1. 给定树的节点数范围是 [1, 100]。
  2. 每个节点的值都是整数,范围为 [0, 99] 。

这个题目我们通过分治思想来解题:
首先传入的是根节点
其次判断根节点是否有左子树和右子树,若存在则判断左右子树的值是否于根节点的值相同(不同则返回false,相同则继续)

if(root->left && root->left->val != root->val
{
   
	return false;
}
if(root->right && root->right->val != root->val
{
   
	return false;
}

若正确,则继续向下递归,但是由于此题目要求返回true or flase,所以,我们需要返回

return isUnivalTree(root->left) &&
    isUnivalTree(root->right);

因为是左右子树都必须满足,所以是 &&

代码:

/**
 * 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. oj题解1(最大深度,

    2024-01-09 15:18:03       37 阅读
  2. 2024-01-09 15:18:03       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-09 15:18:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-09 15:18:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-09 15:18:03       82 阅读
  4. Python语言-面向对象

    2024-01-09 15:18:03       91 阅读

热门阅读

  1. C++ 多线程顺序打印

    2024-01-09 15:18:03       57 阅读
  2. dockerfile和docker-composer配置和启动

    2024-01-09 15:18:03       57 阅读
  3. 【Python库】pillow (PIL)库的用法介绍

    2024-01-09 15:18:03       55 阅读
  4. 213. 打家劫舍 II

    2024-01-09 15:18:03       59 阅读
  5. Python Pillow(PIL)库的用法介绍

    2024-01-09 15:18:03       64 阅读
  6. Python Pillow(PIL)详细使用指南

    2024-01-09 15:18:03       56 阅读
  7. php之 校验多个时间段是否重复

    2024-01-09 15:18:03       60 阅读