国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

day4-反轉(zhuǎn)鏈表

這篇具有很好參考價(jià)值的文章主要介紹了day4-反轉(zhuǎn)鏈表。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

反轉(zhuǎn)鏈表

力扣題目鏈接

題目描述

給你單鏈表的頭節(jié)點(diǎn) head ,請(qǐng)你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。

思路

面試??嫉念}型,這里帶來(lái)兩種做法,一種雙指針,一種迭代法。

雙指針法

第一次看到題目時(shí),我第一時(shí)間想到的是,先從第一個(gè)結(jié)點(diǎn)找到最后一個(gè),然后再依次翻轉(zhuǎn)。但是這樣的時(shí)間復(fù)雜度就是O(2n)了。

為什么不能第一次遍歷的時(shí)候就處理好所有翻轉(zhuǎn)呢?定義兩個(gè)指針

  • pre:指向當(dāng)前結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn)
  • cur:指向當(dāng)前結(jié)點(diǎn)

這樣這需要一對(duì)對(duì)處理即可,難點(diǎn)在于如何進(jìn)行結(jié)點(diǎn)的更替。

代碼如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-568460.html

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
       ListNode* tmp;
       ListNode* cur = head;
       ListNode* pre = nullptr; //頭節(jié)點(diǎn)的pre指向null

       while(cur){
            tmp = cur->next; //保存cur的下一個(gè)結(jié)點(diǎn),因?yàn)橄乱徊揭薷?/span>
            cur->next = pre;
            //update
            pre = cur; // 更新結(jié)點(diǎn),從后往前更新
            cur = tmp;
       }
       return pre;
    }
};
  • 時(shí)間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(1)

迭代法

迭代法的本質(zhì)思路其實(shí)跟雙指針是一樣的,不同點(diǎn)在于使用了n棧的空間。

如果可以理解雙指針,理解迭代法應(yīng)該是更加輕松才對(duì)。

代碼如下:

 ListNode* reverseList(ListNode* head) {
        return reverse(nullptr,head);
    }
    ListNode* reverse(ListNode* pre, ListNode* cur)
    {
        if(cur == nullptr)return pre; //終止條件
        ListNode* tmp = cur->next;
        cur->next = pre;
        return reverse(cur,tmp);
    }
  • 時(shí)間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(n)

到了這里,關(guān)于day4-反轉(zhuǎn)鏈表的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包