993 二叉树的堂兄弟节点
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。
如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。
我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。
只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。
Map<Integer,Integer> depth;//用来存节点值和对应的深度Map<Integer,TreeNode> parent;//用来存节点值和他的父节点public boolean isCousins(TreeNode root, int x, int y) {depth = new HashMap<>();parent = new HashMap<>();dfs(root,null);return depth.get(x) == depth.get(y) && parent.get(x) != parent.get(y);}void dfs(TreeNode node,TreeNode par){//整体是深度优先搜索遍历if (node != null){depth.put(node.val,par != null ? 1 + depth.get(par.val) : 0) ;//将当前值和层数存起来parent.put(node.val,par);//将当前值和他的父节点存起来dfs(node.left,node);dfs(node.right,node);}}
993 二叉树的堂兄弟节点相关推荐
- ⭐算法入门⭐《二叉树》简单07 —— LeetCode 993. 二叉树的堂兄弟节点
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 在二叉树中,根节点位于 ...
- LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
文章目录 1. 题目 2. 解题 2.1 层序遍历 2.2 递归查找 1. 题目 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同 ...
- 993. 二叉树的堂兄弟节点
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点. 我们给出了具有唯一值的二叉树的根节点 r ...
- LeetCode 993. 二叉树的堂兄弟节点
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...
- 二叉树的堂兄弟节点(2种实现方式)
二叉树的堂兄弟节点 题目 二叉树的堂兄弟节点(力扣:993) 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但父节点不同,则它 ...
- 【leetcode 993】【二叉树的堂兄弟节点】
leetcode 993[二叉树的堂兄弟节点] 这道题给出二叉树root,x和y,要解决的问题是在树中找到x和y,并且确定它们是否为堂兄弟节点的关系. 题目链接 https://leetcode-cn ...
- 二叉树的堂兄弟节点-c语言
二叉树的堂兄弟节点-c语言 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出 ...
- LeetCode题解——二叉树的堂兄弟节点
LeetCode题解--二叉树的堂兄弟节点 题目介绍 解题思路 这题考察的就是树的遍历,其中带有2个条件遍历树 第一个条件记录下x和y出现的深度 第二个条件记录下x和y的父节点 当父节点不同xy深度相 ...
- leetcode——第993题——二叉树的堂兄弟节点
题目: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出了具有唯一值的二叉树 ...
最新文章
- python转弯轨迹_使点沿着曲线轨迹移动
- 面试官:DDD如何指导微服务拆分?90%的程序员都答不上来!
- POJ1742 Coins(DP)
- android 9.0 https 适配,如何适配 Android 9.0? 在 Android 9.0 上发生 SSL handshake timed out 异常怎么解决...
- 【boost】time.1 同步计数器
- 打包签名时出现Conversion to Dalvik format failed with error 1
- 迈向新征程!2019国际第三代半导体大赛颁奖典礼盛大举办!
- 使用canvas给页面添加文字水印
- SAP License:ERP系统实施价格是多少?
- ES插件es-head下载和安装
- word2016 页码问题
- 厦大2021期中考试
- 转阿彪 PHP常见的安全问题
- 数据库MSSQLSERVER_18456错误解决
- 【unity 保卫星城】--- 开发笔记(Demo演示篇)
- 解析mac苹果电脑与Windows电脑的区别。他们各自有什么优势?
- 秀!如何搭建一个永久运行的个人服务器?
- 武汉的二本计算机学校有哪些,武汉二本大学有哪些学校
- 通过数据分析找出Netflix最适合学习英语的电影和电视剧
- 目标检测系列文章之SPP-net【2015】