永发信息网

】试编写算法,求二叉树T中结点a和b的最近共同祖先。

答案:1  悬赏:40  手机版
解决时间 2021-04-20 01:37
】试编写算法,求二叉树T中结点a和b的最近共同祖先。
最佳答案
后序遍历即可,在访问结点的时候判定A和B是否都被访问了即可。
bool getCommonParent(TreeNode *root, TreeNode *A, TreeNode *B, TreeNode **p)
{
if (root == NULL)
return false;

bool leftHasAorB = getCommonParent(root->left, A, B, p);
bool rightHasAorB = getCommonParent(root->right, A, B, p);
if ((leftHasAorB && rightHasAorB) ||
((leftHasAorB || rightHasAorB) && (root == A || root == B)))
*p = root;

if (leftHasAorB || rightHasAorB)
return true;

if (root == A || root == B)
return true;

return false;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
英雄联盟什么英雄好打潘森
有什麼英文歌好聽的,能介紹一點給我嗎?
BABY童装屋在哪里啊,我有事要去这个地方
处女座女生怎么样才能抓住一个双鱼座男人
手机主板变形
表达爱情的优美诗句,形容早上好的语句
现在买什么中期股好?
小张汽贸瑞旋店在什么地方啊,我要过去处理事
QQSP5终于有了烽火战国图标,点亮的人麻烦告
上下畈怎么去啊,有知道地址的么
有逗逗疤怎么办?
撇撇嘴什么腿的成语
电脑打不开可以重装系统吗?
家里弄里满地的蛋糕要怎么弄才能又轻松又快的
哪可看到中文字幕的《THIS IS IT 》?
推荐资讯
小儿经常头痛要怎么办?
50级剑魂一共有多少SP点,用这些SP怎么加技能
网游《龙》主刀副剑应该怎么加点?
qq炫舞游戏下载安装
表达新婚祝福的古诗词,表达祝福古诗词
怎样可以得到女人的心?
男人要先追求事业还是先追求婚姻?
酷晨延吉售后服务中心地址在什么地方,想过去
问问采纳问题时的赠送礼物可以赠送什么?
怎样容易怀孕?
怎么样从MAYA中导出md2格式的动画文件呢?
朋友们 现在年轻的人应该学什么样的技术对自
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?