当前位置: 首页 > news >正文

算法通关村第八关|黄金挑战|二叉树的最近公共祖先

二叉树的最近公共祖先

找p和q就行,找不到p和q的节点就返回null,找到的就层层返回p或q,其他的还是返回null。直到某一层的left和right都不为null说明得到了最近公共节点,再将这个节点层层返回。如果p和q存在祖先和子节点的关系,就层层返回祖先。

public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if (root == null || root == p || root == q) {return root;}TreeNode left = lowestCommonAncestor(root.left, p, q);TreeNode right = lowestCommonAncestor(root.right, p, q);// 左右子树均没有p和q,直接返回nullif (left == null && right == null) {return null;}// 左子树返回null,右子树中存在p或q,也可能存在p和qif (left == null) {return right;}// 右子树返回null,左子树中存在p或q,也可能存在p和qif (right == null) {return left;}// p和q分列两个子树中,root是最近公共祖先return root;
}

如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤
个人主页:星不易 ❤
算法通关村专栏:不易|算法通关村 ❤

http://www.lryc.cn/news/222522.html

相关文章:

  • 亚马逊云科技产品测评』活动征文|通过使用Amazon Neptune来预测电影类型初体验
  • 【获奖论文】2023年数学建模国赛优秀获奖论文
  • 美团三年,总结的10条血泪教训
  • 【CSP认证考试】202309-1:坐标变换(其一)100分解题思路+代码
  • 剩余参数和展开运算符的区别
  • ES6的基础用法
  • standard_init_linux.go:211: exec user process caused “exec format error“
  • python的format函数的用法及实例
  • BigDecimal 类型的累加操作
  • 基于单片机的土壤温湿度控制系统
  • 服务器数据库中了elbie勒索病毒怎么办,elbie勒索病毒解密,数据恢复
  • 接口测试及接口测试工具
  • JUC包工具类介绍二
  • 第8章_聚合函数
  • Mysql8与mariadb的安装与常用设置
  • 深入剖析Golang中单例模式
  • Java之SpringCloud Alibaba【八】【Spring Cloud微服务Gateway整合sentinel限流】
  • 深入解析 Redis 分布式锁原理
  • [unity]多脚本情况下update函数的执行顺序
  • Maven中<scope>中等级的区别
  • 小明和完美序列(HashMap、Map、Entry)
  • 【hexo博客配置】hexo icarus主题配置
  • 建表时如何合理选择字段类型
  • Qt Creator插件
  • AI全栈大模型工程师(十九)Semantic Kernel
  • Dubbo 的服务请求失败怎么处理?
  • 存储虚拟化讲解
  • [云原生案例2.1 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】节点部分
  • Apache ActiveMQ 远程代码执行漏洞影响范围
  • 如何规划并新建大数据平台的独立生产域?5步走