当前位置:网站首页>【Day_11 0506】 最近公共祖先
【Day_11 0506】 最近公共祖先
2022-08-01 17:40:00 【安河桥畔】
最近公共祖先
题目来源
牛客网: 最近公共祖先
题目描述
将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给定a,b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可能是结点本身。
示例1
输入
2 3
返回
1
思路分析
编号为整型,整型除法计算会舍去小数位,所以每个节点的父节点编号等于子节点编号除以二,对两个节点中编号较大的节点除2,直到两个节点相同为止。
如图演示编号为15和5找到最近祖先的过程:
代码展示
class LCA {
public:
int getLCA(int a, int b) {
while(a!=b)
{
if(a>b)
{
a/=2;
}
else
{
b/=2;
}
}
return b;
}
};
边栏推荐
猜你喜欢
随机推荐
2022年深圳市促进大健康产业集群高质量发展的若干措施
SQL函数 TO_CHAR(一)
OnePlus 10RT appears on Geekbench, product launch also seems to be approaching
直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践
极化微波成像概述
统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》
TCP百万并发服务器优化调参
Xingtu has been short of disruptive products?Will this M38T from the Qingdao factory be a breakthrough?
金仓数据库 MySQL 至 KingbaseES 迁移最佳实践(2. 概述)
【R语言】批量重命名文件
【TDP加码福利】COS用户实践征文月,等你来投稿!!!
基于ORB-SLAM2的改进代码
MySql 怎么查出符合条件的最新的数据行?
银行案例|Zabbix跨版本升级指南,4.2-6.0不香吗?
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
块级元素、行内元素、行内块元素
完美指南|如何使用 ODBC 进行无代理 Oracle 数据库监控?
2022.08月--pushmall推贴共享电商更新与开发计划
分布式消息队列平滑迁移技术实战
Sftp中文件名乱码









