当前位置:网站首页>【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;
}
};
边栏推荐
猜你喜欢
随机推荐
QLineEdit学习与使用
缓存一致性MESI与内存屏障
金仓数据库KingbaseES安全指南--6.9. Ident身份验证
关系运算符和if,else语句
开发工具:第五章:使用idea生成实体类
研发团队数字化转型实践
Are online account opening commissions reliable? Is online account opening safe?
GridControl helper class for DevExpress
云商店携手快报税,解锁财务服务新体验!
MySQL 慢查询
分布式消息队列平滑迁移技术实战
02 es cluster construction
完美指南|如何使用 ODBC 进行无代理 Oracle 数据库监控?
md5sum源码 可多平台编译
金仓数据库KingbaseES安全指南--6.4. RADIUS身份验证
银行案例|Zabbix跨版本升级指南,4.2-6.0不香吗?
XAML WPF项目groupBox控件
Isometric graph neural networks shine in drug discovery
频域分析实践介绍
Detailed explanation of the working principle of crystal oscillator








