免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
【劍指Offer】反轉(zhuǎn)鏈表

題目描述

輸入一個(gè)鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。

解法1

可以使用三個(gè)輔助指針pHead, last,next
pHead記錄當(dāng)前節(jié)點(diǎn),last記錄上一個(gè)節(jié)點(diǎn),next記錄下一個(gè)節(jié)點(diǎn)
首先使用next保存當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),然后將當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)指向last,實(shí)現(xiàn)反轉(zhuǎn)
如下圖所示

實(shí)現(xiàn)代碼

public ListNode ReverseList(ListNode pHead)
{
    ListNode last = null, next = null;
    while(pHead != null){
        next = pHead.next;
        pHead.next = last;
        last = pHead;
        pHead = next;
    }
    return last;
}

解法2

解法1是將鏈表按照從頭到尾的順序反轉(zhuǎn)的
可以使用遞歸,通過不斷遞歸深入,實(shí)現(xiàn)先從鏈表的尾節(jié)點(diǎn)開始反轉(zhuǎn)
然后通過遞歸的回溯實(shí)現(xiàn)按照從尾到頭的順序反轉(zhuǎn)每個(gè)節(jié)點(diǎn)
如下圖所示

實(shí)現(xiàn)代碼

public ListNode ReverseList2(ListNode pHead)
{
    if(pHead == null || pHead.next == null) return pHead;
    ListNode node = ReverseList2(pHead.next);
    pHead.next.next = pHead;
    pHead.next = null;
    return node;
}

更多算法題目的完整描述,AC代碼,以及解題思路可以查看GitHub倉庫Algorithm

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
面試不可不會(huì)的單鏈表反轉(zhuǎn)
410,劍指 Offer-從尾到頭打印鏈表
鏈表逆序補(bǔ)充
每日一題 劍指offer(反轉(zhuǎn)列表)
鏈表算法面試問題?看我就夠了!
遞歸反轉(zhuǎn)鏈表:如何拆解復(fù)雜問題
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服