Binary Search Tree : Lowest Common Ancestor

  • + 1 comment

    Node *add1 [25]; Node *add2[25]; int i=0,j=0; Node *lca(Node *root, int v1,int v2) { // Write your code here.

        if(v1>root->data) {
            root=lca(root->right,v1,v2);
            add1[i++]=root;
    
        }
         else if(v2>root->data) {
            root=lca(root->right,v1,v2);
            add2[j++]=root;
    
        }   
        else if(v1<root->data) {
            root=lca(root->left,v1,v2);
            add1[i++]=root;
    
        }
         else if(v2<root->data) {
            root=lca(root->left,v1,v2);
            add2[j++]=root;
    
        }   
        Node *a;
        for(int i=0;i<25;i++){
            for(int j=0;j<25;j++){
                if(add1[i]==add2[2]) {a= add1[i]; return a;}
            }
        }
    
    
    }