92. Reverse Linked List II

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.

這題看了答案,在紙上寫了一遍思路還蠻清晰的欧宜。我發(fā)現(xiàn)Leetcode自己的solutions里面的高票答案就挺好的(https://discuss.leetcode.com/topic/8976/simple-java-solution-with-clear-explanation)蜀备。

思想:

這題思想是一直讓start繞過它后面的節(jié)點(diǎn)then,接到then.next上去,然后then接到逆序list的首位鉴扫,也就是pre.next烦秩。

注意的地方:

for循環(huán)中的第二句then.next應(yīng)該指向pre.next,而不是start刻获。
因?yàn)閟tart和then一直在向右平移蜀涨,交換過一次后pre已經(jīng)不會(huì)指向start。

draft
    public ListNode reverseBetween(ListNode head, int m, int n) {
        // we need for nodes
        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode pre = dummy;
        ListNode start;
        ListNode then;
        for (int i = 0; i < m - 1; i++) {
            pre = pre.next;
        }

        start = pre.next;
        then = start.next;

        for (int i = 0; i < n - m; i++) {//交換n-m次
            start.next = then.next;
            then.next = pre.next; //it has to be pre.next,而不是start厚柳,因?yàn)閟tart和then一直在向右平移氧枣,交換過一次后pre已經(jīng)不會(huì)指向start
            pre.next = then;
            then = start.next;
        }

        return dummy.next;
    }

今天是周五。買了一臺(tái)iPhone别垮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末便监,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碳想,更是在濱河造成了極大的恐慌烧董,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胧奔,死亡現(xiàn)場(chǎng)離奇詭異逊移,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)龙填,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門胳泉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人觅够,你說我怎么就攤上這事胶背。” “怎么了喘先?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵钳吟,是天一觀的道長。 經(jīng)常有香客問我窘拯,道長红且,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任涤姊,我火速辦了婚禮暇番,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘思喊。我一直安慰自己壁酬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布恨课。 她就那樣靜靜地躺著舆乔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剂公。 梳的紋絲不亂的頭發(fā)上希俩,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音纲辽,去河邊找鬼颜武。 笑死璃搜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳞上。 我是一名探鬼主播这吻,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼因块!你這毒婦竟也來了橘原?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤涡上,失蹤者是張志新(化名)和其女友劉穎趾断,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吩愧,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芋酌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雁佳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脐帝。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖糖权,靈堂內(nèi)的尸體忽然破棺而出堵腹,到底是詐尸還是另有隱情,我是刑警寧澤星澳,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布疚顷,位于F島的核電站,受9級(jí)特大地震影響禁偎,放射性物質(zhì)發(fā)生泄漏腿堤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一如暖、第九天 我趴在偏房一處隱蔽的房頂上張望笆檀。 院中可真熱鬧,春花似錦盒至、人聲如沸酗洒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽樱衷。三九已至,卻和暖如春登淘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背封字。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工黔州, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耍鬓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓流妻,卻偏偏與公主長得像牲蜀,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绅这,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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