题目大意:线性二叉树,找两节点的最近公共祖先
#include<iostream>
using namespace std;
int a[10];
int main()
{
int x,y,i,top=0;
cin>>x>>y;
while(x!=1)
{
a[top++]=x;
x=x/2;
}
a[top++]=1;i=0;
while(y!=1)
{
if (y==a[i])
break;
else
{
if (y>a[i])y=y/2;
else i++;
}
}
cout<<y;
return 0;
}
本文介绍了一种通过遍历线性二叉树来寻找两个指定节点的最近公共祖先的方法。利用数组存储从指定节点到根节点的路径,并通过比较找到最近的共同祖先。
1255

被折叠的 条评论
为什么被折叠?



