//Find looping node
NODE* FindLoopingNode(NODE *pHead)
{
if (NULL == pHead)
return NULL;
NODE *pTemp = pHead;
NODE *pTemp1 = pHead;
do
{
//pTemp = pTemp->pNext;
pTemp = pTemp->pNext;
//pTemp1 = pTemp1->pNext->pNext;
pTemp1 = pTemp1->pNext;
if (NULL == pTemp1)
return NULL; //No loop found
pTemp1 = pTemp1->pNext;
if (NULL == pTemp1)
return NULL; //No loop found
}
while (pTemp != pTemp1);
return pTemp; //return the looping node
}
Tuesday, July 22, 2008
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment