青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

yehao's Blog

判斷單鏈表是否存在環(huán),判斷兩個鏈表是否相交問題詳解

有一個單鏈表,其中可能有一個環(huán),也就是某個節(jié)點的next指向的是鏈表中在它之前的節(jié)點,這樣在鏈表的尾部形成一環(huán)。

問題:

1、如何判斷一個鏈表是不是這類鏈表?
2、如果鏈表為存在環(huán),如何找到環(huán)的入口點?

解答:

一、判斷鏈表是否存在環(huán),辦法為:

設(shè)置兩個指針(fast, slow),初始值都指向頭,slow每次前進(jìn)一步,fast每次前進(jìn)二步,如果鏈表存在環(huán),則fast必定先進(jìn)入環(huán),而slow后進(jìn)入環(huán),兩個指針必定相遇。(當(dāng)然,fast先行頭到尾部為NULL,則為無環(huán)鏈表)程序如下:

bool IsExitsLoop(slist *head)
{
    slist
*slow = head*fast = head;

    while ( fast && fast->next ) 
    {
        slow 
= slow->next;
        fast 
= fast->next->next;
       
if ( slow == fast ) break;
    }

    return !(fast == NULL || fast->next == NULL);
}

二、找到環(huán)的入口點

當(dāng)fast若與slow相遇時,slow肯定沒有走遍歷完鏈表,而fast已經(jīng)在環(huán)內(nèi)循環(huán)了n圈(1<=n)。假設(shè)slow走了s步,則fast走了2s步(fast步數(shù)還等于s 加上在環(huán)上多轉(zhuǎn)的n圈),設(shè)環(huán)長為r,則:

2s = s + nr
s= nr

設(shè)整個鏈表長L,入口環(huán)與相遇點距離為x,起點到環(huán)入口點的距離為a。
a + x = nr
a + x = (n – 1)r +r = (n-1)r + L - a
a = (n-1)r + (L – a – x)

(L – a – x)為相遇點到環(huán)入口點的距離,由此可知,從鏈表頭到環(huán)入口點等于(n-1)循環(huán)內(nèi)環(huán)+相遇點到環(huán)入口點,于是我們從鏈表頭、與相遇點分別設(shè)一個指針,每次各走一步,兩個指針必定相遇,且相遇第一點為環(huán)入口點。程序描述如下:

slist* FindLoopPort(slist *head)
{
    slist
*slow = head, *fast = head;

    while ( fast && fast->next ) 
    {
        slow 
= slow->next;
        fast 
= fast->next->next;
       
if ( slow == fast ) break;
    }

    if (fast == NULL || fast->next == NULL)
   
    return NULL;

    slow 
= head;
    while (slow != fast)
    {
         slow 
= slow->next;
         fast 
= fast->next;
    }

    return slow;
}


擴展問題:

判斷兩個單鏈表是否相交,如果相交,給出相交的第一個點(兩個鏈表都不存在環(huán))。

比較好的方法有兩個:

一、將其中一個鏈表首尾相連,檢測另外一個鏈表是否存在環(huán),如果存在,則兩個鏈表相交,而檢測出來的依賴環(huán)入口即為相交的第一個點。

二、如果兩個鏈表相交,那個兩個鏈表從相交點到鏈表結(jié)束都是相同的節(jié)點,我們可以先遍歷一個鏈表,直到尾部,再遍歷另外一個鏈表,如果也可以走到同樣的結(jié)尾點,則兩個鏈表相交。

這時我們記下兩個鏈表length,再遍歷一次,長鏈表節(jié)點先出發(fā)前進(jìn)(lengthMax-lengthMin)步,之后兩個鏈表同時前進(jìn),每次一步,相遇的第一點即為兩個鏈表相交的第一個點。

posted on 2011-05-23 15:44 厚積薄發(fā) 閱讀(362) 評論(0)  編輯 收藏 引用 所屬分類: 面試題

導(dǎo)航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統(tǒng)計

常用鏈接

留言簿

隨筆分類

文章分類

文章檔案

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩91| 99ri日韩精品视频| 久久久91精品国产一区二区精品| 欧美日韩国产综合网| 99精品热视频只有精品10| 欧美国产一区二区三区激情无套| 美国十次成人| 日韩一级裸体免费视频| 一区二区动漫| 国产日韩欧美麻豆| 欧美成ee人免费视频| 欧美成人黄色小视频| 亚洲一二三区视频在线观看| 亚洲在线电影| 在线观看久久av| 91久久综合亚洲鲁鲁五月天| 欧美日韩18| 久久精品国产在热久久| 久久香蕉精品| 一本一本久久| 欧美一区二区三区日韩| 亚洲欧洲精品一区| 亚洲视频在线观看| 在线日韩中文| 一区二区三区偷拍| 在线播放一区| 中文精品视频一区二区在线观看| 国产午夜精品一区二区三区欧美 | 日韩视频―中文字幕| 国产女主播一区| 欧美黄色精品| 国产精品久久久久9999| 欧美在线黄色| 欧美日产一区二区三区在线观看| 亚洲在线观看免费| 男人插女人欧美| 亚洲欧美一区二区三区极速播放 | 久久天堂av综合合色| 亚洲图片激情小说| 久久婷婷国产综合尤物精品| 亚洲欧美日韩国产中文| 欧美成人精品在线| 久久久久久黄| 欧美婷婷六月丁香综合色| 美女免费视频一区| 国产精品亚洲网站| 亚洲精品国产精品国自产在线 | 亚洲成人在线网| 亚洲性夜色噜噜噜7777| 日韩亚洲成人av在线| 久久久久久夜精品精品免费| 午夜在线播放视频欧美| 欧美理论电影在线观看| 老司机免费视频一区二区三区 | 欧美国产精品人人做人人爱| 久久精品综合| 国产欧美大片| 亚洲一区二区在线观看视频| 一本色道久久99精品综合| 免费成人av资源网| 久热精品视频在线观看一区| 国产色爱av资源综合区| 亚洲一区国产| 欧美一区二区私人影院日本| 国产精品swag| 一本色道88久久加勒比精品 | 国产日韩欧美在线一区| 亚洲视频中文字幕| 午夜一级久久| 国产欧美短视频| 欧美一区不卡| 久久免费高清| 狠久久av成人天堂| 久久久久国产精品www| 久久久www成人免费毛片麻豆| 国产毛片精品国产一区二区三区| 在线天堂一区av电影| 亚洲欧美制服另类日韩| 国产精品久久久久免费a∨大胸| 一区二区电影免费观看| 午夜伦欧美伦电影理论片| 国产精品永久| 久久精品国产一区二区三区| 久久资源在线| 亚洲国产欧美一区| 欧美另类在线播放| 亚洲网站啪啪| 久久久久成人精品| 亚洲国产免费| 欧美亚一区二区| 亚洲欧美日韩国产| 免费不卡亚洲欧美| 99热免费精品| 国产日韩欧美在线看| 久久综合九色综合欧美狠狠| 亚洲电影在线播放| 午夜精品福利视频| 国产一区亚洲| 欧美精品精品一区| 亚洲影视在线播放| 欧美国产综合| 午夜激情综合网| 亚洲高清av| 国产精品videosex极品| 欧美一区二区视频在线观看2020 | 久久99在线观看| 在线免费观看一区二区三区| 欧美日韩高清在线观看| 欧美一区午夜精品| 亚洲日本中文字幕区| 久久精品国产精品 | 国产伦一区二区三区色一情| 久久亚洲精品网站| 日韩一级精品视频在线观看| 久久嫩草精品久久久精品| aa成人免费视频| 国外成人网址| 国产精品毛片va一区二区三区| 欧美中文字幕视频| 一区二区免费看| 欧美激情按摩在线| 久久精品一区二区国产| 亚洲视频在线一区| 在线精品亚洲一区二区| 国产麻豆一精品一av一免费| 欧美激情欧美激情在线五月| 久久国产精品毛片| 亚洲视频一区二区免费在线观看| 欧美高清视频在线| 久久久噜噜噜久久中文字幕色伊伊| 中文亚洲免费| 日韩午夜视频在线观看| 亚洲第一网站| 精品动漫3d一区二区三区| 国产女同一区二区| 国产精品午夜在线| 欧美三区不卡| 欧美精品一区二区三区在线播放| 久久人人爽爽爽人久久久| 欧美中文字幕第一页| 亚洲欧美视频在线| 亚洲一区二区三区精品在线观看| 亚洲毛片av| 99精品热视频| 99在线|亚洲一区二区| 亚洲久久成人| 亚洲最新在线| 在线综合欧美| 亚洲欧美高清| 亚洲尤物视频网| 亚洲综合色婷婷| 午夜欧美视频| 久久九九免费视频| 久久欧美肥婆一二区| 久久视频精品在线| 欧美成人免费va影院高清| 欧美/亚洲一区| 欧美另类综合| 国产精品人成在线观看免费 | 一区二区三区鲁丝不卡| 一本色道精品久久一区二区三区 | 国语精品中文字幕| 亚洲高清一二三区| 亚洲精品系列| 亚洲欧美久久久久一区二区三区| 亚洲欧美在线一区| 久久久亚洲人| 亚洲国产精品久久久久秋霞蜜臀| 亚洲黄网站黄| 亚洲先锋成人| 久久成人亚洲| 欧美精品www| 国产精品亚洲成人| 亚洲大片免费看| 亚洲天堂第二页| 久久久97精品| 亚洲欧洲精品一区二区三区不卡 | 欧美成人综合| 日韩亚洲精品在线| 欧美制服第一页| 欧美精品免费在线| 国产欧美日韩另类一区| 亚洲国产日韩精品| 午夜精品久久久久久久| 免费看黄裸体一级大秀欧美| 日韩一区二区精品| 久久九九有精品国产23| 欧美视频一区二区| 亚洲第一页在线| 欧美在线不卡| 亚洲国产天堂久久综合| 欧美一级电影久久| 欧美日韩国产首页| 精品91在线| 亚洲欧美国产va在线影院| 欧美成人精品1314www| 亚洲一区国产一区| 欧美日韩麻豆| 在线日本成人| 久久精品国产一区二区三区免费看|