[LeetCode] 經(jīng)典 - ListNode 翻轉(zhuǎn)

在LeetCode里面有很多題是關(guān)于ListNode翻轉(zhuǎn)的。我們把核心的部分拿出來(lái)說(shuō)袖牙,寫(xiě)成一個(gè)模板帐姻。

模板介紹

public ListNode reverse(ListNode begin, ListNode end) {
    ListNode cur = begin.next;
    ListNode next;
    ListNode newTail = cur;
    ListNode pre = begin;
    while (cur != end) {
        next = cur.next;
        cur.next = pre;
        pre = cur;
        cur = next;
    }
    begin.next = pre;
    newTail.next = end;
    // return begin.next; // 如果想返回新的head
    return newTail; // 如果想返回翻轉(zhuǎn)后的的tail
}

LeetCode 26就是用了這個(gè)部分。

如果是翻轉(zhuǎn)整個(gè)List撮执,end == null,那么我們這部分核心代碼可以變成:

public ListNode reverse(ListNode head) { // head是begin的next
    ListNode begin = new ListNode(-1);
    begin.next = head;
    ListNode cur = begin.next; 
    ListNode next;
    ListNode newTail = cur;
    ListNode pre = begin;
    while (cur != null) {
        next = cur.next;
        cur.next = pre;
        pre = cur;
        cur = next;
    }
    begin.next = pre;
    newTail.next = null;
    return begin.next; // 如果想返回新的head
}

或者簡(jiǎn)練成:

public ListNode reverse(ListNode head) {
    ListNode pre = null;
    ListNode cur = head;
    while (cur != null) {
        ListNode next = cur.next;
        cur.next = pre;
        pre = cur;
        cur = next;
    }
    return pre;
}

相關(guān)題目

25 Reverse Nodes in k-Group
https://leetcode.com/problems/reverse-nodes-in-k-group/

206 Reverse Linked List
https://leetcode.com/problems/reverse-linked-list/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舷丹,一起剝皮案震驚了整個(gè)濱河市抒钱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颜凯,老刑警劉巖谋币,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異装获,居然都是意外死亡瑞信,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)穴豫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)凡简,“玉大人逼友,你說(shuō)我怎么就攤上這事〕由” “怎么了帜乞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)筐眷。 經(jīng)常有香客問(wèn)我黎烈,道長(zhǎng),這世上最難降的妖魔是什么匀谣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任照棋,我火速辦了婚禮,結(jié)果婚禮上武翎,老公的妹妹穿的比我還像新娘烈炭。我一直安慰自己,他們只是感情好宝恶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布符隙。 她就那樣靜靜地躺著,像睡著了一般垫毙。 火紅的嫁衣襯著肌膚如雪霹疫。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天综芥,我揣著相機(jī)與錄音丽蝎,去河邊找鬼。 笑死毫痕,一個(gè)胖子當(dāng)著我的面吹牛征峦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播消请,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼类腮!你這毒婦竟也來(lái)了臊泰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚜枢,失蹤者是張志新(化名)和其女友劉穎缸逃,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體厂抽,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡需频,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了筷凤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昭殉。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苞七,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挪丢,到底是詐尸還是另有隱情蹂风,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布乾蓬,位于F島的核電站惠啄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏任内。R本人自食惡果不足惜撵渡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望死嗦。 院中可真熱鬧趋距,春花似錦、人聲如沸越走。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)廊敌。三九已至铜跑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骡澈,已是汗流浹背锅纺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肋殴,地道東北人囤锉。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像护锤,于是被迫代替她去往敵國(guó)和親官地。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355