当前位置:   article > 正文

PTA 函数题 二叉搜索树中的最近公共祖先(C语言)_7-2 二叉搜索树的最近公共祖先c语言实现

7-2 二叉搜索树的最近公共祖先c语言实现

在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点。现给定某二叉搜索树(BST)中任意两个结点,要求你找出它们的最近公共祖先。
函数接口定义:

int LCA( Tree T, int u, int v );

    其中Tree的定义如下:

    typedef struct TreeNode *Tree;
    struct TreeNode {
       
        int   Key;
        Tree  Left;
        Tree  Right;
    };
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    函数LCA须返回树T中两个结点u和v的最近公共祖先结点的键值。若u或v不在树中,则应返回ERROR。
    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define ERROR -1
    typedef struct TreeNode *Tree;
    struct TreeNode {
       
        int   Key;
        Tree  Left;
        Tree  Right;
    };
    
    Tree BuildTree()
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/605462
    推荐阅读
    相关标签
      

    闽ICP备14008679号