【树-简单】993. 二叉树的堂兄弟节点

【数据结构】二叉树的定义以及性质 二叉树 文章目录二叉树一、树1.树的定义2. 树的概念(1) 节点的度(2) 叶节点(终端节点)(3) 分支节点(非终端节点)(4) 父节点(双亲节点)(5) 子节点(孩子节点)(6) 兄弟节点(7) 树的度(8) 节点的层次(9) 树的高度(深度)(10) 堂兄弟节点二、二叉树1. 树的表示2. 二叉树3. 二叉树的种类(1) 满二叉树(2) 完全二叉树4. 二叉树的性质 二叉树 在了解二叉树之前,专业外的人,比如我,二叉树的名称早就听说过,在了解二叉树之前,应当先去了解树的几个概念,毕竟,二叉树是普通 阅读详情

【题目】
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。

如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。

我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。

只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否则,返回 false。

示例 1:

输入:root = [1,2,3,4], x = 4, y = 3
输出:false

示例 2:

输入:root = [1,2,3,null,4,null,5], x = 5, y = 4
输出:true

示例 3:

输入:root = [1,2,3,null,4], x = 2, y = 3
输出:false

提示:

二叉树的节点数介于 2 到 100 之间。
每个节点的值都是唯一的、范围为 1 到 100 的整数。

【代码】
在这里插入图片描述

class Solution:
    def isCousins(self, root: TreeNode, x: int, y: int) -> bool:
        parent={}
        level=[]
        depth=0
        queue=[root]
        if root.val==x or root.val ==y:
            return False
        while queue:
            sz=len(queue)
            for i in range(len(queue)):
                node=queue.pop(0)
                if node.val==x or node.val==y:
                    level.append((depth,parent[node.val]))
                if node.left:
                    queue.append(node.left)
                    parent[node.left.val]=node.val
                if node.right:
                    queue.append(node.right)
                    parent[node.right.val]=node.val
            depth+=1
        return level[0][0]==level[1][0] and level[0][1]!=level[1][1]

【递归】
在这里插入图片描述

class Solution:
    def inOrder(self,root,depth,parent):
        if not root:
            return
        self.inOrder(root.left,depth+1,root.val)
        self.parent[root.val]=parent
        if root.val==self.x or root.val==self.y:
            self.level.append((depth,self.parent[root.val]))
        self.inOrder(root.right,depth+1,root.val)

    def isCousins(self, root: TreeNode, x: int, y: int) -> bool:
        if root.val==x or root.val ==y:
            return False
        self.x=x
        self.y=y
        self.parent={}
        self.level=[]
        self.inOrder(root,0,0)
        return self.level[0][0]==self.level[1][0] and self.level[0][1]!=self.level[1][1]
CANopen PDO 配置實戰:3步完成0x1800-0x1A00物件字典映射與事件觸發 本文详细解析CANopen PDO配置实战,通过3个关键步骤完成0x1800-0x1A00对象字典映射与事件触发设置。重点介绍COB-ID位域解析、映射参数配置及事件触发优化,帮助工程师实现工业自动化设备间毫秒级实时数据交换,提升系统通信效率。 阅读详情

相关推荐

手把手教你用DCA1000EVM解析IWR6843毫米波雷达数据(附MATLAB代码)

本文提供了一份详尽的实战指南,手把手教你使用DCA1000EVM采集并解析TI毫米波雷达IWR6843的原始数据。内容涵盖硬件连接配置、mmWave Studio参数设置、LVDS数据流结构解析,并附有核心MATLAB代码,详细演示了从原始二进制文件到距离-速度谱的信号处理全链路,帮助开发者快速掌握数据解析与处理的关键步骤。

terraform7cloud的博客 228

椋鸟数据结构笔记#5:树、二叉树基础

树的表示方法有多种,这里介绍较为常用的左孩子右兄弟表示法。这个方法能够让我们方便的向下查找。我们定义一个结构体作为树的节点: 这个结构体中,lChild存储该节点最左边的子节点,rSibling存储与其紧邻的右侧兄弟节点。这样,我们还是以上方示意图为例,为了方便我再次把图片贴出:如果我们想通过A节点找到P节点,这时问题就会变的非常简单了,只需要按照如下路线图寻找即可:#mermaid-svg-lK6KbPe1mE26fkBj {font-family:“trebuchet ms”,verdana,arial

2401_84009130的博客 571

Oracle迁移至华为GaussDB SQL语法和存储过程转换

在将Oracle数据库迁移至GaussDB时,SQL语法和存储过程的转换是确保应用程序正常运行和数据完整性的关键环节。由于两者在数据类型、函数、过程语言等方面存在差异,必须系统化地进行转换和测试。正则表达式脚本:批量替换常见的语法差异。SQL解析工具:解析SQL脚本,生成GaussDB兼容的语法。代码审查工具:自动检查转换后的代码,确保语法和逻辑正确。将Oracle迁移至GaussDB涉及到SQL语法和存储过程的全面转换。通过系统化的转换步骤、使用合适的工具并结合手动调整,可以确保迁移过程的顺利进行。

weixin_38428874的博客 2399

二叉树的堂兄弟节点

目录993. 二叉树的堂兄弟节点思路分析DFSBFS 993. 二叉树的堂兄弟节点 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否则,返回 false。 示例 1: 输入:root = [1,2,3,4], x = 4, y =

qq_43413774的博客 1334

从踩坑到填平:我在RHEL7上给Tesla A100装驱动的完整记录(含Fabric Manager配置)

本文详细记录了在RHEL7系统上为Tesla A100安装Nvidia驱动的完整过程,包括Fabric Manager配置的关键步骤。通过分析A100架构的特殊性,提供了从驱动安装到服务配置的详细指南,并分享了常见问题的排查方法和性能调优技巧,帮助用户高效部署高性能GPU计算环境。

weixin_29291863的博客 284

从D3 00到FF FF:手把手解析RTCM3.2协议帧结构(附Python解析代码)

本文深入解析RTCM3.2协议帧结构,从同步头标识到CRC校验算法,详细讲解如何通过Python代码实现二进制数据解析。文章包含完整的RTCM3.2解析器实现,涵盖消息类型解码、CRC校验等关键步骤,并附赠特定消息类型(如1005型基准站坐标)的解析示例,帮助开发者快速掌握GNSS差分数据传输协议的核心技术。

weixin_42550052的博客 354

【LeetCode】C++ :简单题 - 树 993. 二叉树的堂兄弟节点

993. 二叉树的堂兄弟节点 难度简单114 在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k+1处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点root,以及树中两个不同节点的值x和y。 只有与值x和y对应的节点是堂兄弟节点时,才返回true。否则,返回false。 示例 1: 输入:root = [1,2,3,4], x = 4, y = 3 输出:false ...

weixin_44566432的博客 304

ENU坐标系实战:5分钟搞定无人机导航中的站心坐标转换

本文针对无人机导航中GPS坐标与视觉感知不匹配的定位漂移问题,提供了基于ENU坐标系的实战解决方案。通过Python代码演示了如何快速、精准地实现地心地固坐标与站心坐标之间的转换,并详细解释了转换原理、精度对比及工程优化技巧,帮助开发者从根本上解决局部相对定位不准的难题。

mqtt6iot的博客 554

LeetCode 993. 二叉树的堂兄弟节点

截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ 提取码:6666 public boolean isCousins(TreeNode root, int x, int y) { //两个队列一个存放树的节点,一个存放节点对应的值 Queue<TreeNode> queue = n.

数据结构和算法 1429

基于Simulink的电机驱动逆变器仿真

本文完成了电机驱动逆变器的Simulink多层级仿真平台搭建,实现了:✅ 构建了从理想到器件级的逆变器模型体系✅ 实现了Si/SiC损耗精确计算与结温预测✅ 建模了母线寄生参数、死区效应、栅极驱动等关键非理想特性✅ 支持故障注入与保护策略验证✅ 集成了热管理、EMI、寿命预测与碳足迹评估。

amy_mhd的博客 89

Multisim14使用教程详尽版--(2025最新版)

摘要:本文详细介绍了Multisim14电路仿真软件的功能和使用方法。主要内容包括:1)主流电路仿真软件比较,突出Multisim在教学、竞赛设计中的优势;2)软件界面说明,涵盖菜单栏、工具栏、元器件库和仪器仪表;3)18类元器件分类详解及其使用操作;4)15种仪器仪表的原理和应用场景;5)电路原理图设计与仿真流程;6)基本电路分析方法(直流静态工作点分析、交流分析等)。文章还提供了硬件工程师笔试面试相关资源链接,涵盖电阻、电容、三极管等器件知识及AD软件操作指南。通过系统讲解,帮助用户掌握Multisim

XU157303764的博客 2万+

993. 二叉树的堂兄弟节点 + 2641. 二叉树的堂兄弟节点 II

我们要计算所有点的堂兄的和,就需要使用层序遍历,先求出下一层所有结点的和nextLevelSum,然后再通过一次遍历,遍历当前层的所有结点,并计算出当前节点的左右孩子的和curSum,接下来就可以更新当前节点的左右孩子,即用nextLevelSum - curSum就是当前节点左右孩子的所有堂兄弟结点的和。这一题相对上一题就复杂了一点,不只是需要判断某两个点是否为堂兄弟,而是需要将所有点的值都更新为它的堂兄弟的结点的和。,一个节点的深度指的是从树根节点到这个节点经过的边数。的节点的子节点位于深度。

cqjnovo的博客 1426

YOLO26涨点改进 | 细节涨点篇 | 源自SCI一区 | YOLO26引入HWD小波下采样模块,而不会显著增加计算开销,(适合小目标分割任务、小目标检测任务)

本文提出了一种基于Haar小波变换的下采样模块HWD,用于改进YOLO26目标检测性能。HWD模块通过小波变换降低特征图分辨率,同时将空间信息编码到通道维度,有效保留了关键信息。相比传统下采样方法,HWD能显著减少信息不确定性,提升小目标检测精度。实验表明,该模块可无缝集成到CNN架构中,不增加计算开销。文章详细介绍了HWD的实现原理、代码结构以及在YOLO26中的集成方法,并提供了两种改进版yaml配置文件。该创新模块已在多种数据集上验证有效,特别适合语义分割和目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 405

⭐算法入门⭐《二叉树》简单07 —— LeetCode 993. 二叉树的堂兄弟节点

《二叉树》简单07 —— LeetCode 993. 二叉树的堂兄弟节点

英雄哪里出来 6172

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

力扣993. 二叉树的堂兄弟节点

993. 二叉树的堂兄弟节点

LNsupermali的博客 989

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Leetcode993:二叉树的堂兄弟节点

Leetcode993:二叉树的堂兄弟节点 题目描述:   1.二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。   2.如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。   3.我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否则,返回 false。    思路:   昨天夜里12点还没睡,就打开Leetcode瞄了一眼今天的题目,乍一

qq_37297658的博客 325

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

leetcode993. 二叉树的堂兄弟节点

在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。 示例 1: 输入:root = [1,2,3,4], x =...

ShawDa's Blog 1040

Leetcode.993 二叉树的堂兄弟节点

输入:root = [1,2,3,null,4,null,5], x = 5, y = 4。输入:root = [1,2,3,null,4], x = 2, y = 3。输入:root = [1,2,3,4], x = 4, y = 3。我们给出了具有唯一值的二叉树的根节点。如果二叉树的两个节点深度相同,但。对应的节点是堂兄弟节点时,才返回。的父结点也不相同,故 结点。在二叉树中,根节点位于深度。,以及树中两个不同节点的值。的节点的子节点位于深度。

感觉画质不如...原神的博客 871

二叉树的堂兄弟节点(2种实现方式)

二叉树的堂兄弟节点(力扣:993)

卜大爷的博客 2万+

993. 二叉树的堂兄弟节点

在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k+1处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点root,以及树中两个不同节点的值x和y。 只有与值x和y对应的节点是堂兄弟节点时,才返回true。否则,返回false。 示例 1: 输入:root = [1,2...

hushaoqiqimingxing的博客 1054

LeetCode993.Cousins in Binary Tree(二叉树的堂兄弟节点 )

993.Cousins in Binary Tree(二叉树的堂兄弟节点 )DescriptionDifficulty: easyExample 1:Example 2:Example 3:Note:分析参考代码 Description In a binary tree, the root node is at depth 0, and children of each depth k node ...

red_tongue的博客 466

【Leetcode_总结】993. 二叉树的堂兄弟节点 - python

Q: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。   示例 1: 输入:root = [...

maka_uir的博客 503

leetcode -993 二叉树的堂兄弟节点 -java版

文章目录题目代码 题目 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。 示例 1: 输入:root = [1...

lingle1的博客 550

LeetCode-Python-993. 二叉树的堂兄弟节点

在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。   示例 1: 输入:root = [1,2,3...

Keep Coding 1032

LeetCode 993. 二叉树的堂兄弟节点——每日一题

本题主要考察了二叉树的遍历,可以使用 宽度优先搜索 在遍历的同时使用 map 记录每个节点的值、深度以及其父节点。遍历完成之后直接进行比较即可。

晴空๓ 705
上一篇: 【树-简单】面试题 17.12. BiNode
下一篇: 【树-简单】563. 二叉树的坡度
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值