LeetCode题解——二叉树的堂兄弟节点

  • 题目介绍

  • 解题思路
  1. 这题考察的就是树的遍历,其中带有2个条件遍历树
  2. 第一个条件记录下x和y出现的深度
  3. 第二个条件记录下x和y的父节点
  4. 当父节点不同xy深度相等就是满足题目的堂兄弟节点
  • 代码示例
/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int xdep;int ydep;TreeNode *xparent;TreeNode *yparent;
public:void tree_search(TreeNode* root, int &x,int &y,int count){if(root == NULL || (xdep > 0 &&count > xdep) || (ydep > 0 &&count > ydep)) {return;}count ++;if(root->left != NULL){if(root->left->val == x){xdep = count+1;xparent = root;}else if(root->left->val == y) {ydep = count+1;yparent = root;}tree_search(root->left,x,y,count);}if(root->right != NULL){if(root->right->val == x){xdep = count+1;xparent = root;}else if(root->right->val == y) {ydep = count+1;yparent = root;}tree_search(root->right,x,y,count);}}bool isCousins(TreeNode* root, int x, int y) {if(root->left == nullptr || root->right == nullptr){return false;}xdep = -1,ydep = -1;int count = -1;xparent = yparent = nullptr;tree_search(root,x,y,count);if(xparent != yparent && xdep == ydep){return true;}else{return false;}}
};

LeetCode题解——二叉树的堂兄弟节点相关推荐

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

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   在二叉树中,根节点位于 ...

  2. LeetCode 993. 二叉树的堂兄弟节点(层序遍历)

    文章目录 1. 题目 2. 解题 2.1 层序遍历 2.2 递归查找 1. 题目 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同 ...

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

    截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...

  4. 【leetcode 993】【二叉树的堂兄弟节点】

    leetcode 993[二叉树的堂兄弟节点] 这道题给出二叉树root,x和y,要解决的问题是在树中找到x和y,并且确定它们是否为堂兄弟节点的关系. 题目链接 https://leetcode-cn ...

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

    二叉树的堂兄弟节点 题目 二叉树的堂兄弟节点(力扣:993) 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但父节点不同,则它 ...

  6. 二叉树的堂兄弟节点-c语言

    二叉树的堂兄弟节点-c语言 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出 ...

  7. leetcode——第993题——二叉树的堂兄弟节点

    题目: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出了具有唯一值的二叉树 ...

  8. 文巾解题 leetcode993. 二叉树的堂兄弟节点

    1,题目描述 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出了具有唯一值的 ...

  9. 二叉树的堂兄弟节点判断001

    1.描述 993在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点. 我们给出了具有唯一值的二 ...

最新文章

  1. 006_html元素
  2. 软件工程综合实践专题第三次个人博客作业
  3. Redis添加主节点
  4. linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记
  5. python学习笔记1-基础语法
  6. SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
  7. 计算机报名成功后还可以取消吗,【造价工程师报名信息确认后可以取消吗?如何取消?】- 环球网校...
  8. cacti linux cpu datasource,Cacti 0.8.8b 硬盘、网络流量、cpu、内存告警配置
  9. Python语言编程规范与优化建议
  10. Spring→事务、隔离级别、事务传播行为、编程式事务控制、XML配置声明式事务(原始方式)、XML配置声明式事务(基于tx/aop)、@注解配置声明式事务、优势总结
  11. 《Head First》 MVC运用的设计模式
  12. 系统分析师论文评分标准
  13. 【jq练习】层次选择器
  14. AcWing 292 炮兵阵地
  15. 自从会了爬虫妈妈再也不担心我不会植物分类啦
  16. 布袋除尘器--预喷涂
  17. No module named gensim.corpora
  18. 2017-2018-2 20155203《网络对抗技术》Exp9 :Web安全基础
  19. 如何做好硕士论文的排版
  20. mysql odbc连接 mdb_java中采用ODBC方式连接Access数据库

热门文章

  1. Vue3实现简易的音乐播放器组件
  2. 【​观察】爱普生加强场景化体验创新 助企业向高质服务转型升级
  3. Unity网络开发实践
  4. Oracle系统信息查询
  5. java程序设计微课版普运伟_Java程序设计(微课版)
  6. 清华大学出版社配套资料即密码获取方式
  7. SQL Server提挂起问题
  8. YEN--K最短路算法(K-Shortest-Path) Java实现
  9. Linux 磁盘加密
  10. Vue.js基础入门到实战视频学习教程