您好,登錄后才能下訂單哦!
面試題一:判斷鏈表是否帶環
int FndLoop(pLinkList list) { pLinkNode fast=list->pHead; pLinkNode slow=list->pHead; assert(list); while(fast!=NULL && fast->next!=NULL) { slow=slow->next; fast=fast->next->next; if( fast!=NULL && slow==fast) { return 1;//有環 } } return 0;//無環 }
面試題二:找到環的入口點
pLinkNode FndLoopNode(pLinkList list) { pLinkNode fast=list->pHead; pLinkNode slow=list->pHead; assert(list); while(fast!=NULL && fast->next!=NULL) { slow=slow->next; fast=fast->next->next; if( fast!=NULL && slow==fast) { break; } } slow=list->pHead; while(slow!=fast) { slow=slow->next; fast=fast->next; } return slow; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。