25浴麻、復(fù)雜鏈表的復(fù)制

題目描述
輸入一個(gè)復(fù)雜鏈表(每個(gè)節(jié)點(diǎn)中有節(jié)點(diǎn)值,以及兩個(gè)指針囤攀,一個(gè)指向下一個(gè)節(jié)點(diǎn)软免,另一個(gè)特殊指針指向任意一個(gè)節(jié)點(diǎn)),返回結(jié)果為復(fù)制后復(fù)雜鏈表的head焚挠。(注意膏萧,輸出結(jié)果中請(qǐng)不要返回參數(shù)中的節(jié)點(diǎn)引用,否則判題程序會(huì)直接返回空)

指針的處理要特別小心蝌衔,在尾部和random為null的時(shí)候容易出現(xiàn)NullPointerException

/*
public class RandomListNode {
    int label;
    RandomListNode next = null;
    RandomListNode random = null;

    RandomListNode(int label) {
        this.label = label;
    }
}
*/
public class Solution {
    public RandomListNode Clone(RandomListNode pHead)
    {
        if(pHead==null){
            return null;
        }
        RandomListNode p = pHead;
        //第一步榛泛,復(fù)制節(jié)點(diǎn)鏈接在原節(jié)點(diǎn)后邊
        while(p!=null){
            RandomListNode node = new RandomListNode(p.label);
            node.next = p.next;
            p.next = node;
            p=node.next;
        }
        
        //第二步,設(shè)置random指針
        p=pHead;
        RandomListNode p2=pHead.next;
        while(p!=null){
            if(p.random!=null){
                p2.random=p.random.next;
            }
            p=p.next.next;
            if(p!=null){
                p2=p.next;
            }
        }
        
        //第三步噩斟,拆分鏈表
        p=pHead;
        RandomListNode newHead = pHead.next;
        p2=pHead.next;
        while(p!=null){
            p.next=p2.next;
            p=p.next;
            if(p!=null){
                p2.next=p.next;
            }else{
                p2.next=null;
            }
            p2=p2.next;
        }
        
        return newHead;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末曹锨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剃允,更是在濱河造成了極大的恐慌沛简,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硅急,死亡現(xiàn)場(chǎng)離奇詭異覆享,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)营袜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)丑罪,“玉大人荚板,你說(shuō)我怎么就攤上這事》砸伲” “怎么了跪另?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)煤搜。 經(jīng)常有香客問我免绿,道長(zhǎng),這世上最難降的妖魔是什么擦盾? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任嘲驾,我火速辦了婚禮淌哟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辽故。我一直安慰自己徒仓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布誊垢。 她就那樣靜靜地躺著掉弛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喂走。 梳的紋絲不亂的頭發(fā)上殃饿,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音芋肠,去河邊找鬼乎芳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛业栅,可吹牛的內(nèi)容都是我干的秒咐。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼碘裕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼携取!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起帮孔,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤雷滋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后文兢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晤斩,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年姆坚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澳泵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡兼呵,死狀恐怖兔辅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情击喂,我是刑警寧澤维苔,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站懂昂,受9級(jí)特大地震影響介时,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一沸柔、第九天 我趴在偏房一處隱蔽的房頂上張望循衰。 院中可真熱鬧,春花似錦勉失、人聲如沸羹蚣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)顽素。三九已至,卻和暖如春徒蟆,著一層夾襖步出監(jiān)牢的瞬間胁出,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工段审, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留全蝶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓寺枉,卻偏偏與公主長(zhǎng)得像抑淫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子姥闪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 復(fù)雜鏈表的復(fù)制 題目描述 輸入一個(gè)復(fù)雜鏈表(每個(gè)節(jié)點(diǎn)中有節(jié)點(diǎn)值始苇,以及兩個(gè)指針,一個(gè)指向下一個(gè)節(jié)點(diǎn)筐喳,另一個(gè)特殊指針指...
    echoVic閱讀 730評(píng)論 0 1
  • 作為一個(gè)資深的新手程序員??,鏈表這些既基礎(chǔ)又深?yuàn)W的東西是日常工作中并不常見,但是卻非常重要,所以就總結(jié)一下鏈表的簡(jiǎn)...
    Clark_new閱讀 4,247評(píng)論 4 12
  • 轉(zhuǎn)載請(qǐng)注明出處:http://www.reibang.com/p/c65d9d753c31 在上一篇博客《數(shù)據(jù)結(jié)構(gòu)...
    Alent閱讀 3,500評(píng)論 4 74
  • 第一章 Nginx簡(jiǎn)介 Nginx是什么 沒有聽過Nginx避归?那么一定聽過它的“同行”Apache吧荣月!Ngi...
    JokerW閱讀 32,650評(píng)論 24 1,002
  • 最近五一,朋友圈被結(jié)婚的照片刷屏了梳毙,一晃自己也到了該談婚論嫁的年齡哺窄。可若真談到愛情账锹、婚姻堂氯,自己心里真的沒底。從小到...
    一念靜心花開遍世界閱讀 328評(píng)論 0 0