LeetCode题解——二叉树的堂兄弟节点
LeetCode题解——二叉树的堂兄弟节点
- 题目介绍
- 解题思路
- 这题考察的就是树的遍历,其中带有2个条件遍历树
- 第一个条件记录下x和y出现的深度
- 第二个条件记录下x和y的父节点
- 当父节点不同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题解——二叉树的堂兄弟节点相关推荐
- ⭐算法入门⭐《二叉树》简单07 —— LeetCode 993. 二叉树的堂兄弟节点
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 在二叉树中,根节点位于 ...
- LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
文章目录 1. 题目 2. 解题 2.1 层序遍历 2.2 递归查找 1. 题目 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同 ...
- LeetCode 993. 二叉树的堂兄弟节点
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...
- 【leetcode 993】【二叉树的堂兄弟节点】
leetcode 993[二叉树的堂兄弟节点] 这道题给出二叉树root,x和y,要解决的问题是在树中找到x和y,并且确定它们是否为堂兄弟节点的关系. 题目链接 https://leetcode-cn ...
- 二叉树的堂兄弟节点(2种实现方式)
二叉树的堂兄弟节点 题目 二叉树的堂兄弟节点(力扣:993) 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但父节点不同,则它 ...
- 二叉树的堂兄弟节点-c语言
二叉树的堂兄弟节点-c语言 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出 ...
- leetcode——第993题——二叉树的堂兄弟节点
题目: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出了具有唯一值的二叉树 ...
- 文巾解题 leetcode993. 二叉树的堂兄弟节点
1,题目描述 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点. 我们给出了具有唯一值的 ...
- 二叉树的堂兄弟节点判断001
1.描述 993在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点. 我们给出了具有唯一值的二 ...
最新文章
- 006_html元素
- 软件工程综合实践专题第三次个人博客作业
- Redis添加主节点
- linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记
- python学习笔记1-基础语法
- SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
- 计算机报名成功后还可以取消吗,【造价工程师报名信息确认后可以取消吗?如何取消?】- 环球网校...
- cacti linux cpu datasource,Cacti 0.8.8b 硬盘、网络流量、cpu、内存告警配置
- Python语言编程规范与优化建议
- Spring→事务、隔离级别、事务传播行为、编程式事务控制、XML配置声明式事务(原始方式)、XML配置声明式事务(基于tx/aop)、@注解配置声明式事务、优势总结
- 《Head First》 MVC运用的设计模式
- 系统分析师论文评分标准
- 【jq练习】层次选择器
- AcWing 292 炮兵阵地
- 自从会了爬虫妈妈再也不担心我不会植物分类啦
- 布袋除尘器--预喷涂
- No module named gensim.corpora
- 2017-2018-2 20155203《网络对抗技术》Exp9 :Web安全基础
- 如何做好硕士论文的排版
- mysql odbc连接 mdb_java中采用ODBC方式连接Access数据库