02
2020
04

如何判断链表是否有环

bool IsLoop( Node *pHead )  

{  

    //[H->A->B->C->A]  

     assert( NULL != pHead );  

     Node *pNext = pHead->mpNext;  

     Node *pNextNext = pHead->mpNext;  

     while( NULL != pNext && NULL != pNextNext->mpNext )  

      {  

         pNext = pNext->mpNext;//[ B、C、A ]  

         pNextNext = pNextNext->mpNext->mpNext;//[C、B、A]  

         if( pNext == pNextNext )  

         {  

             return true;  

         }  

     }  

     return false;  

}  


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。