二叉树——二叉树的最近公共祖先
创始人
2024-05-27 11:26:48
0

二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

示例 1:
在这里插入图片描述

输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
输出:3
解释:节点 5 和节点 1 的最近公共祖先是节点 3 。
示例 2:
在这里插入图片描述

输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4
输出:5
解释:节点 5 和节点 4 的最近公共祖先是节点 5 。因为根据定义最近公共祖先节点可以为节点本身。
示例 3:

输入:root = [1,2], p = 1, q = 2
输出:1

提示:

树中节点数目在范围 [2, 105] 内。
-109 <= Node.val <= 109
所有 Node.val 互不相同 。
p != q
p 和 q 均存在于给定的二叉树中。

思路

后序遍历,父节点会接收到子节点问否是p,q,并把这个状态向上传递,直到满足条件

  • 返回值 节点
  • 参数 输入节点,p,q
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q)
  • 终止条件
    节点==p 或 ==q 或 为空
        if(root==p || root==q || root== NULL) return root;
  • 单次递归
    采用后序,左右中,
    左操作:设立参数left接收左子树是否有p,q,有的话left为p或q
    右操作:设立参数right接收右子树是否有p,q,有的话right为p或q
        TreeNode* left=lowestCommonAncestor(root->left,p,q);TreeNode* right=lowestCommonAncestor(root->right,p,q);

中操作:将本递归返回的参数进行判断,
左有q,右有p
左有p,右有q
上面一条成立,则此中节点为父节点

        if(left==NULL && right!=NULL) return right;if(left!=NULL && right==NULL) return left;if(left!=NULL && right!=NULL) return root;return NULL;

left和right的取值是靠终止条件返回,没找到p或q,left和right就会一直是NULL

        if(root==p || root==q || root== NULL) return root;

相关内容

热门资讯

乔迁对联带横批喜气吉祥 乔迁对联大全带横批喜气吉祥  在生活、工作和学习中,大家都对那些朗朗上口的对联很是熟悉吧,对联起源秦...
龙的谚语_谚语 关于龙的谚语_谚语  在平凡的学习、工作、生活中,大家都有令自己印象深刻的谚语吧,谚语是指广泛流传于...
杜牧《江南春》的写作背景及赏... 杜牧《江南春》的写作背景及赏析  一望无尽的美丽江南,传来了一阵阵黄莺的啼叫声。远处的绿树映衬着地上...
读后感的写作方法技巧 读后感的写作方法技巧  读后感是指读了一本书,一篇文章,一段话,几句名言,一段音乐,或者一段视频后,...
小学谚语 小学谚语大全  1、有福同享,有难同当  2、邻居好,赛金宝  3、远亲不如近邻,近邻不抵对门  4...
关羽失荆州歇后语   关羽失荆州 ———— 骄兵必败;大意了。下面是小编为你带来的关羽失荆州歇后语,欢迎阅读。  关羽...
大学生职业生涯规划书基本格式 大学生职业生涯规划书基本格式范文(通用7篇)  职业生涯规划指的是一个人对其一生中所承担职务的相继历...
疑问句和反问句的区别 疑问句和反问句的区别  疑问句和反问句看似是很相近的,但事实上却存在着很大的区别,那么它们究竟有什么...
暴雨启示录作文 暴雨启示录作文如果觉得很不错,欢迎点评和分享~感谢你的阅读与支持!暴雨启示录指导老师:张慕琳7月21...
气候的谚语_谚语 有关气候的谚语_谚语  在学习、工作或生活中,大家都经常接触到谚语吧,谚语是老百姓的`智慧结晶。你知...
元宵节灯谜及答案 元宵节灯谜及答案大全  元宵节到了,在过去人们过元宵节的时候,除了吃汤圆,还要猜灯谜,来增加元宵的喜...
迎新春对联 迎新春对联(精选90句)  在春节到来之际,贴对联是我们的'一大传统习俗,你是不是还在想春节应该贴什...
适合小学生写的春节对联 适合小学生写的春节对联(精选115句)  在日常生活或是工作学习中,大家都看到过对联吧,对联对仗工整...
唐代文学常识 唐代文学常识  唐朝文学是指唐朝(618年—907年)的文学。唐朝文学空前繁荣,“诗歌”最为光彩夺目...
赔了夫人又折兵歇后语   歇后语是中国劳动人民自古以来在生活实践中创造的一种特殊语言形式,是一种短小、风趣、形象的语句。它...
经典对联 经典对联集锦  在日常学习、工作或生活中,许多人都接触过一些比较经典的'对联吧,对联是一种对偶文学,...
钢铁是怎样炼成的作者简介 钢铁是怎样炼成的作者简介  《钢铁是怎样炼成的》是出自前苏联的一部自传性小说,是共产主义国家最著名的...
高考议论文写作之比喻论证 高考议论文写作之比喻论证  相信大家都不可避免地要接触到作文吧,特别是作文中不可忽视的议论文,议论文...
春联贴门上的贴法 春联贴门上的贴法  对联是汉族传统文化之一,又称楹联或对子,是写在纸、布上或刻在竹子、木头、柱子上的...
戏曲的谚语 关于戏曲的谚语关于戏曲的谚语1  1、一遍功夫一遍巧,一遍拆洗一遍新。  2、练到老,唱到老,学到八...