力扣经典题目之->单值二叉树(递归判断)

一:题目

本博客采用此模型:

二:思路

 单值二叉树即所有值相等的二叉树

1:递归的大事化小思路即:

  • 将当前节点与它的左右子节点进行比较,如果不相等,则直接返回false
  • 如果相等,则递归地对左右子树进行相同的检查。

2:代码:

解释:

1:空节点即没值,所以不是值不同,用于空树或递归到叶子节点的时候

2:通过第二第三两个if,代表要么孩子不存在,要么孩子存在且和根值相同

3:经过这3个if,能确保root这个节点和他的孩子相等,才能再往下递进。 

三:递归展开图:(红色是递,蓝色是归  

左:

右:

不太清晰,再对半发:

左上:

左下:

 

右上:

 

右下:

 

最后的return &&  两边都要为真,才为真,左边先为假,根据&&的性质,右边都不用判断就return false了 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次 .NET某实验室自动进样系统 崩溃分析

一:背景 1. 讲故事 前些天有位朋友在微信上联系到我,说他们的程序在客户那边崩掉了,让我帮忙看下怎么回事,dump也拿到了,那就上手分析吧。 二:WinDbg 分析 1. 哪里的崩溃 既然是程序的崩溃&#xff0c…

基于状态机实现WIFI模组物联网

1.0 状态机框架原理 如果成功的话就连接热点,如果失败就返回AT通信检查,如果AT通信检查还是失败就放回硬件复位这个状态,如果热点链接成功,就连接MQTT指令,如果失败就返回AT通信检查,如果成功就连接云平台通…

MySQL集群技术

一、MySQL部署 1.源码编译 实验环境为rhel7 安装依赖性 [rootmysql-node1 ~]# yum install cmake gcc-c openssl-devel \ ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen.x86_64 -y [rootmysql-node1 ~]# tar zxf mysql-boost-5.7.44.tar.gz 源码…

达梦数据库的系统视图v$object_usage

达梦数据库的系统视图v$object_usage 在达梦数据库(DM Database)中,V$OBJECT_USAGE 视图提供了关于数据库对象的使用情况和统计信息。这些对象可以包括表、索引、视图、存储过程等。通过 V$OBJECT_USAGE 视图,数据库管理员可以监…

贵金属市场展望:黄金独领风骚,钯金、铂金与白银承压

黄金新高可期,避险魅力不减 黄金市场持续升温,近期价格屡创新高。随着全球经济不确定性增加及美联储降息预期的增强,黄金的避险属性得到进一步凸显。市场普遍预期,若美联储在年内维持宽松货币政策,黄金价格有望继续上扬…

新迪天工®看图,专业的三维CAD看图工具

替代专业CAD软件,方便查看各种三维和二维CAD图纸 新迪天工看图是一款功能强大的三维模型和二维图纸查看工具,能帮助制造企业以较低的成本、较高的数据安全性实现产品设计数据的跨业务浏览和交互。 应用场景 1、设计图纸评审 可直接对三维模型和二维…

【数据结构】—— 树和二叉树

1、树的概念2、树的相关术语3、树的常见表示方法4、树的实际应用5、二叉树的相关概念和性质6、二叉树的顺序存储(堆)6.1 堆的概念6.2 堆的结构和接口6.3 堆的初始化和销毁6.4 堆的插入6.5 堆的删除6.5 取堆顶数据6.6 获取有效节点个数6.7 判空6.8 源代码…

高并发业务下的库存扣减技术方案设计

扣减库存需要查询库存是否足够: 足够就占用库存不够则返回库存不足(这里不区分库存可用、占用、已消耗等状态,统一成扣减库存数量,简化场景) 并发场景,若 查询库存和扣减库存不具备原子性,就可能超卖&…

动态内存管理函数malloc,calloc,realloc,free

malloc 函数原型:void* malloc(size_t size); 这个函数向内存申请一块连续可用的size大小的空间,并返回指向这快空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此ma…

Facebook AI策略全解:从数据分析到智能推荐的成功秘诀

在数字化时代,人工智能(AI)已成为推动科技发展的核心力量。Facebook,作为全球领先的社交网络平台,正通过先进的AI策略来优化用户体验和平台运营。从数据分析到智能推荐,Facebook的AI策略涵盖了多个方面&…

Git 分支操作全解析:创建、切换、合并、删除及冲突解决

“ 在现代软件开发中,高效的版本控制是确保项目成功的关键。Git 提供了强大的分支管理功能,使得开发者能够独立地进行功能开发、修复 bug 和进行紧急修补。本文将深入探讨 Git 分支的基本操作,包括创建、切换、合并和删除分支,同时…

Linux基础 - yum、rzsz、vim 使用与配置、gcc/g++的详细解说

目录 一、Linux 软件包管理器 yum A.什么是软件包? B.关于rzsz,yum的配置 1.安装 sz,rz 命令: a.执行命令sz可将linux中的文件传输到Windows中 b.执行rz命令可将Windows中的文件传输到linux 2.scp XXX.tgz 用户名另一台lin…

免费高画质提取PPT/Word/Excel中的图片工具

下载地址:https://pan.quark.cn/s/134ccc35b8a2 软件简介: 好不容易搞到一个几十上百MB的ppt,想导出里面的图片进行二次加工,却被ppt超低画质的图片另存为功能劝退,明知里面全是高清图片,走时却是两手空空…

1系-8系铝合金材料的成分特性及应用详解

1系-8系铝合金材料的成分特性及应用详解 铝合金概述 铝合金的定义铝合金是一种以铝为基体,通过添加一定量的其他合金化元素(如铜、锰、硅、镁、锌等)形成的合金材料。由于合金元素的加入,铝合金在保持铝的轻质、良好导电导热性等基…

langchain入门系列之六 使用langchain构建PDF解析助手

本文将介绍如何使用langchain构建一个pdf解析助手,在此文中你将学习到langchain如何与web应用(fastapi)相结合,向量持久化等知识,话不多说,现在开始。 安装环境 pip install fastapi pip install python-dotenv pip install uv…

漫步者这款耳机怎么样吗?南卡、漫步者、Cleer公认畅销款式测评!

目前市场上开放式耳机品牌众多,选择时需要充分了解,但即便如此,也难以完全避免购买到质量不佳的产品。作为一位专注于数码产品测评的博主,我对开放式耳机有深入的研究。最近,我收到了许多关于漫步者、南卡、Cleer等品牌…

Flutter-自适用高度PageView

需求 在 Flutter 中,PageView 是一个非常常用的组件,能够实现多个页面的滑动切换。然而,默认的 PageView 高度是固定的,这在展示不同高度的页面时,可能会导致不必要的空白或内容裁剪问题。为了使 PageView 能够根据每…

OpenMax算法详解:深度学习中的高效开集识别技术

OpenMax算法详解:深度学习中的高效开集识别技术 在深度学习领域,模型的识别能力往往受限于其训练数据集的范畴。传统的分类模型,如卷积神经网络(CNN)或循环神经网络(RNN),通常被设计…

第八节:Nodify 编辑器属性

引言 经过前几章的学习,你已经对Nodify框架有了初步的编程思路。当然只局限于这些还完全不够,本章节将阐述各个结构组件的一些常用属性,以便在日后的开发过程中更得心应手。 1、编辑器 平移 简介属性默认值平移功能 控制DisablePanningfals…

100128-批量获取视频音频时长添加到文件名中支持子孙文件夹下操作-UI

程序功使用环境▶适用的系统环境说明:win7以上64位win系统注意:win32位系统/mac系统需要额外定制▶使用期限:无需注册、不绑电脑、无时间限制▶如何安装:不需要安装程序功能说明▶子文件夹穿透:支持▶支持的文件格式&a…