Ticker

6/recent/ticker-posts

Header Ads Widget

Responsive Advertisement

Lowest Common Ancestor in a Binary Tree


 Node* lca(Node* root ,int n1 ,int n2 )
    {
       if(root==NULL)
       {
           return NULL;
       }
       if(root->data==n1 || root->data==n2)
       {
           return root; // jab root kisi data se math kr jaye
       }
       Node*lh=lca(root->left,n1,n2);
       Node*rh=lca(root->right,n1,n2);
       if( rh==NULL)
       {
           return lh; // ye condition leaf node ke liye bhi kaam karegi
       }
       if(lh==NULL)
       {
           return rh;
       }
       return root;// jab root ke  left mai ek item and root ke right mai second item ho tab
    }

Post a Comment

0 Comments