We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
Node*lca(Node*root,intv1,intv2){// Write your code here.while((v1>root->data&&v2>root->data)||(v1<root->data&&v2<root->data)){if(v1>root->data)root=root->right;elseroot=root->left;}returnroot;}
Node*add1[25];Node*add2[25];inti=0,j=0;Node*lca(Node*root,intv1,intv2){// Write your code here.if(v1>root->data){root=lca(root->right,v1,v2);add1[i++]=root;}elseif(v2>root->data){root=lca(root->right,v1,v2);add2[j++]=root;}elseif(v1<root->data){root=lca(root->left,v1,v2);add1[i++]=root;}elseif(v2<root->data){root=lca(root->left,v1,v2);add2[j++]=root;}Node*a;for(inti=0;i<25;i++){for(intj=0;j<25;j++){if(add1[i]==add2[2]){a=add1[i];returna;}}}}
i was basically storing the address of the of each node through which we are passing for v1 and v2 in add1 and add2 respectively
i want to ask few questions:-
solution is a structure (in this question) , when we are calling Lca function (MYTREE.LCA(ROOT,V1,V2) , does the "instance of struct solution " will have --> add1[25] , add2[25], int i,j ; when function is called
on each function call (root=lca(root->left,v1,v2) ) in each "IF" statement does the add1[25] , add2[25], int i,j , will again take memory OR one single copy of add1[25] , add2[25], int i,j ; is only there, as only one insance is made;
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Join us
Create a HackerRank account
Be part of a 26 million-strong community of developers
Please signup or login in order to view this challenge
Binary Search Tree : Lowest Common Ancestor
You are viewing a single comment's thread. Return to all comments →
C++ solution :
why this not working