92. Reverse Linked List II(翻轉(zhuǎn)鏈表有范圍)

Reverse a linked list from position m to n. Do it in-place and in one-pass.

For example:
Given 1->2->3->4->5->NULL, m = 2 and n = 4,

return 1->4->3->2->5->NULL.

Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.

思路:

對于鏈表的問題毅戈,根據(jù)以往的經(jīng)驗(yàn)一般都是要建一個dummy node创译,連上原鏈表的頭結(jié)點(diǎn)啥酱,這樣的話就算頭結(jié)點(diǎn)變動了偎肃,我們還可以通過dummy->next來獲得新鏈表的頭結(jié)點(diǎn)施流。這道題的要求是只通過一次遍歷完成笋轨,就拿題目中的例子來說穿扳,變換的是2,3,4這三個點(diǎn)怀泊,那么我們可以先取出2躯畴,用front指針指向2民鼓,然后當(dāng)取出3的時候,我們把3加到2的前面蓬抄,把front指針前移到3丰嘉,依次類推,到4后停止嚷缭,這樣我們得到一個新鏈表4->3->2, front指針指向4饮亏。對于原鏈表連說,有兩個點(diǎn)的位置很重要阅爽,需要用指針記錄下來路幸,分別是1和5,因?yàn)楫?dāng)2,3,4被取走時付翁,原鏈表就變成了1->5->NULL简肴,要把新鏈表插入的時候需要這兩個點(diǎn)的位置。1的位置很好找百侧,因?yàn)橹續(xù)的值砰识,我們用pre指針記錄1的位置,5的位置最后才能記錄佣渴,當(dāng)4結(jié)點(diǎn)被取走后辫狼,5的位置需要記下來,這樣我們就可以把倒置后的那一小段鏈表加入到原鏈表中辛润。代碼如下:

var reverseBetween = function(head, m, n) {
    var dummy=new ListNode(-1);
    dummy.next=head;
    var cur=dummy;
    var pre,last;
    for(var i=1;i<=m-1;i++){
        cur=cur.next;
    }
    
    var pre=cur;
    var last=cur.next;
    var front=cur.next;
    for(var i=m;i<=n;i++){
        cur=pre.next;
        pre.next=cur.next;
        cur.next=front;
        front=cur;
    }
    cur=pre.next;
    pre.next=front;
    last.next=cur;
    return dummy.next;
    
    
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末膨处,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌真椿,老刑警劉巖秦叛,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瀑粥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)三圆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門狞换,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人舟肉,你說我怎么就攤上這事修噪。” “怎么了路媚?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵黄琼,是天一觀的道長。 經(jīng)常有香客問我整慎,道長脏款,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任裤园,我火速辦了婚禮撤师,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拧揽。我一直安慰自己剃盾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布淤袜。 她就那樣靜靜地躺著痒谴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铡羡。 梳的紋絲不亂的頭發(fā)上积蔚,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天,我揣著相機(jī)與錄音蓖墅,去河邊找鬼库倘。 笑死,一個胖子當(dāng)著我的面吹牛论矾,可吹牛的內(nèi)容都是我干的教翩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼贪壳,長吁一口氣:“原來是場噩夢啊……” “哼饱亿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤彪笼,失蹤者是張志新(化名)和其女友劉穎钻注,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體配猫,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幅恋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泵肄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捆交。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖腐巢,靈堂內(nèi)的尸體忽然破棺而出品追,到底是詐尸還是另有隱情,我是刑警寧澤冯丙,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布肉瓦,位于F島的核電站,受9級特大地震影響胃惜,放射性物質(zhì)發(fā)生泄漏泞莉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一蛹疯、第九天 我趴在偏房一處隱蔽的房頂上張望戒财。 院中可真熱鬧,春花似錦捺弦、人聲如沸饮寞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幽崩。三九已至,卻和暖如春寞钥,著一層夾襖步出監(jiān)牢的瞬間慌申,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工理郑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蹄溉,地道東北人。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓您炉,卻偏偏與公主長得像柒爵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赚爵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

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