【数据结构与算法 经典例题】单值二叉树的判断

              💓 博客主页:倔强的石头的CSDN主页 

             📝Gitee主页:倔强的石头的gitee主页

   ⏩ 文章专栏:《数据结构与算法 经典例题》C语言

                                  期待您的关注

1b7335aca73b41609b7f05d1d366f476.gif

目录

一、问题描述

二、解题思路

三、C语言实现代码 


 

 

一、问题描述

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

只有给定的树是单值二叉树时,才返回 true;否则返回 false

 

原题出自

965. 单值二叉树 - 力扣(LeetCode)

2de1c4d0dc7e4516a089d3fdef1954f2.jpeg

 

二、解题思路

实现思路:
将每个节点看做是根结点,与他的左孩子和右孩子的值进行对比是否相同

 

递归实现:

  • 如果节点为空,返回true
  • 再进行判断
  • 如果左孩子存在且左孩子的值不等于节点的值,返回false
  • 如果右孩子存在且右孩子的值不等于节点的值,返回false
  • 如果上述return都没有执行,说明这三个节点组成的树的值相同(如果左右孩子存在的话),进一步判断以左右孩子为根的子树是否值相同。分别递归调用函数,传递左右孩子的地址,如果返回的值都为true,则返回true(只有一种情况会返回true,就是递归至节点为空)

 

 

三、C语言实现代码 

//单值二叉树
bool isUnivalTree(BTNode* root)
{if (root == NULL)return true;if (root->left && root->left->data != root->data)return false;if (root->right && root->right->data != root->data)return false;return isUnivalTree(root->left) && isUnivalTree(root->right);}

ce2aae0ef4064969be0600a0a7559afe.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3225980.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 防火墙配置指南:firewalld不同服务管理的应用案例(十个)

🏡作者主页:点击! 🐧Linux基础知识(初学):点击! 🐧Linux高级管理专栏:点击! 🔐Linux中firewalld防火墙:点击! ⏰️创作时间&…

nginx正向代理、反向代理、负载均衡

nginx.conf nginx首要处理静态页面 反向代理 动态请求 全局模块 work processes 1; 设置成服务器内核数的两倍(一般不不超过8个超过8个反而会降低性能一般4个 1-2个也可以) netstat -antp | grep 80 查端口号 *1、events块:* 配置影响ngi…

贴脸细看Mixtral 8x7B- 稀疏混合专家模型(MoE)的创新与推动

贴脸细看Mixtral 8x7B- 稀疏混合专家模型(MoE)的创新与推动 原创 一路到底孟子敬 上堵吟 2024年01月15日 20:05 美国 I. 引言 A. Mixtral 8x7B的背景和目的 • 背景:随着大型语言模型在自然语言处理(NLP)领域的广泛…

2024年上海和数集团市场部下半年工作会议圆满召开

2024年6月19日,上海和数集团市场部下半年工作会议在苏州2.5产业园圆满召开! 和数研究院院长徐敬东发表了“把握数字经济浪潮”的主题演讲。 徐院长深入分析了当前数字经济的发展趋势,强调了数字技术在推动全球经济增长中的重要作用。 和数集…

Java使用POI导出后数字类型为常规类型,不能计算

今日日常撸码,甲方提出来excel导出后,数字类型那一列是常规类型,并不是数字,无法进行计算,如下图: 这里和导出的字段类型有关,我用的是POI进行excel的导出,需要在实体类上标注出需要…

概率论期末速成(知识点+例题)

考试范围 一: 事件关系运算性质全概率公式、贝叶斯公式古典概型 二: 离散分布律连续密度函数性质 -> 解决三个问题(求待定系数、求概率、求密度函数)分布函数 -> 解决三个问题常用分布(最后一节课的那几个分…

【C++】使用C++实现基于Socket的通信

在本文中,我们将详细讨论如何使用C实现基于Socket的通信,并设计一个TLV(Type-Length-Value)协议用于数据交互。TLV协议因其灵活性和可扩展性,在多种通信协议中被广泛使用,特别是在需要动态定义数据结构的场…

提升Selenium在Chrome上的HTML5视频捕获效果的五个方法

在使用Selenium进行网页自动化测试时,捕获HTML5视频是一个常见的需求。然而,许多开发者发现,在使用Chrome浏览器时,视频捕获效果并不理想,经常出现视频背景为空白的问题。本文将概述五种方法,帮助提升Selen…

边框插画:成都亚恒丰创教育科技有限公司

边框插画:艺术与生活的精致边界 在视觉艺术的广阔天地里,边框插画以其独特的魅力和细腻的表达方式,成为连接艺术与生活的一道精致边界。成都亚恒丰创教育科技有限公司它不仅仅是图像的外框装饰,更是情感、故事与创意的延伸&#…

从天空到地面:无人机航拍推流直播技术在洞庭湖决口封堵中的全方位支援

据新闻报道,受持续强降雨影响,湖南省华容县团洲垸洞庭湖一线堤防发生管涌险情,随后出现决口。截至7月8日20时左右,226米长的洞庭湖一线堤防决口已累计进占208米,目前剩余18米,有望在今晚或9日凌晨实现合龙。…

Geoserver源码解读六 插件

系列文章目录 Geoserver源码解读一 环境搭建 Geoserver源码解读二 主入口 Geoserver源码解读三 GeoServerBasePage Geoserver源码解读四 REST服务 Geoserver源码解读五 Catalog Geoserver源码解读六 插件(怎么在开发模式下使用) 目录 系列文章目…

微软Win11 24H2七月更新补丁KB5040435发布!附下载

系统之家于7月10日发出最新报道,微软为Win11用户发布了24H2版本七月的最新更新补丁KB5040435。用户升级系统后,会发现版本号升至 26100.1150。此次更新针对远程身份验证拨入用户服务(RADIUS)协议与 MD5冲突等问题进行修复。接下来跟随小编看看此次更新的…

中国 水文站 分布 矢量数据

中国 水文站 分布 矢量数据 数据介绍 水文站hydrological station是观测及搜集河流、湖泊、水库等水体的水文、气象资料的基层水文机构。中国把水文站按性质分为基本站和专用站。前者的任务是收集实测资料,提供探索基本水文规律的资料,满足水资源评价、…

两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day3

前端框架必会的(ajaxnode.jswebpackgit)个人学习心得作业及bug记录 Day3 你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner 🌹 如果本…

sdwan是硬件还是网络协议?

SD-WAN(Software-Defined Wide Area Network,软件定义广域网)并不是一个硬件产品或单一的网络协议,而是结合了软件、硬件和网络技术的一种解决方案。SD-WAN的核心在于其软件定义的特性,它通过软件来控制和管理广域网的…

使用机器学习 最近邻算法(Nearest Neighbors)进行点云分析

使用 NearestNeighbors 进行点云分析 在数据分析和机器学习领域,最近邻算法(Nearest Neighbors)是一种常用的非参数方法。它广泛应用于分类、回归和聚类分析等任务。下面将介绍如何使用 scikit-learn 库中的 NearestNeighbors 类来进行点云数…

干货!| 针对前端加密爆破的方法及实战案例

一 、概述 现在基本上大部分web应用系统都在后台登录界面对密码使用了js加密,有的是将用户名密码同时进行了加密,对于使用了加密的我们可以利用burp插件直接调用加密函数本地加密后再进行爆破,也可以使用一些工具直接模拟浏览器登录界面进行…

基于 Springboot 红酒庄内部信息管理系统 设计实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 6.1数据三范式: 📚 系统功能的具体实现 💬 系统登录和首页 系统登录 首页 💬 用户功能模块 添…

基于JavaSpringBoot+Vue+uniapp微信小程序校园宿舍管理系统设计与实现(论文7000字参考+源码+LW+部署讲解)

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

MES系统看板管理模块详细介绍

车间数字化看板作为一种管理工具,广泛应用于制造业,通过在生产现场设置看板,企业能够实现对生产过程的全面、实时的监控和管理。 MES系统提供实时、准确的看板管理,它可以将生产现场的各种数据实时汇总、分析并展示,帮…