Shouldn't having 2 queues one storing the node and other corresponding
level should be sufficient and do level order traversal?

-mithun




On Mon, May 21, 2012 at 5:54 PM, Ashish Goel <ashg...@gmail.com> wrote:

> bool firstCousins(struct node * pRoot, struct node *pThis, (struct
> node*)[] path, int pos, vector<int> firstCousins)
> {
> if ((!pThis) || (!pRoot)) return false;
> if (pRoot->data!=pThis->data) {
>   path[pos] = pRoot;
>   if (!findCousins(pRoot->left, pThis, path, pos+1, firstCousins))
>     return findCousins(pRoot->left, pThis, path, pos+1, firstCousins);
> }
> if (pos<2) return false; //this node is at level 0 or level 1
> struct node* pGP = path[pos-2];
> struct node *pParent = path[pos-1];
> struct node *pUncle = NULL;
> if (pParent == pGP->left)
> {
>   pUncle = pGP->right;
> }else pUncle = pGP->left;
> if (pUncle->left) firstCousins.add(pUncle->left->data);
> if (pUncle->right) firstCousins.add(pUncle->right->data);
> return true;
> }
>
>
> Best Regards
> Ashish Goel
> "Think positive and find fuel in failure"
> +919985813081
> +919966006652
>
>
> On Mon, May 21, 2012 at 5:41 PM, Ashish Goel <ashg...@gmail.com> wrote:
>
>> For this the cousins of 1 should be  9   8     12  13   14   15 .... how
>> then can it be a 2 pass algorithm... we should also consider great
>> grandparent as in this case ... Correct me if I m wrong!!
>>
>> the first cousins are  9,8 not 12,13...otherwise the question becomes
>> really simple :)
>>
>> Best Regards
>> Ashish Goel
>> "Think positive and find fuel in failure"
>> +919985813081
>> +919966006652
>>
>>
>> On Mon, May 21, 2012 at 12:54 PM, sivaviknesh <sivavikne...@gmail.com>wrote:
>>
>>> For this the cousins of 1 should be  9   8     12  13   14   15 .... how
>>> then can it be a 2 pass algorithm... we should also consider great
>>> grandparent as in this case ... Correct me if I m wrong!!
>>
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to