面試題一:判斷鏈表是否帶環
創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站建設、做網站、榆社網絡推廣、小程序制作、榆社網絡營銷、榆社企業策劃、榆社品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯為所有大學生創業者提供榆社建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.cdcxhl.com
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; }