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

看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24

這篇具有很好參考價值的文章主要介紹了看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

本文章一部分內(nèi)容參考于《代碼隨想錄》----如有侵權(quán)請聯(lián)系作者刪除即可,撰寫本文章主要目的在于記錄自己學(xué)習(xí)體會并分享給大家,全篇并不僅僅是復(fù)制粘貼,更多的是加入了自己的思考,希望讀完此篇文章能真正幫助到您?。?!

面試題(鏈表相交)—(保姆級別講解)

看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24

分析題目:

  1. 兩個鏈表都是單鏈表
  2. 目標是找到并且返回兩個單鏈表的相交起始節(jié)點(假設(shè)現(xiàn)在有兩個單鏈表分別是A和B,我們先不管A和B這兩個單鏈表的長度誰長誰短,我們需要將A和B尾節(jié)點對齊
  3. 整個鏈式結(jié)構(gòu)不存在環(huán)

鏈表相交代碼:

class Solution {
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
        ListNode* curA = headA;
        ListNode* curB = headB;
        int lenA = 0, lenB = 0;
        while (curA != NULL) { 
            lenA++;
            curA = curA->next;
        }
        while (curB != NULL) { 
            lenB++;
            curB = curB->next;
        }
        curA = headA;
        curB = headB;
       
        if (lenB > lenA) {
            swap (lenA, lenB);
            swap (curA, curB);
        }
        
        int gap = lenA - lenB;
       
        while (gap--) {
            curA = curA->next;
        }
        
        while (curA != NULL) {
            if (curA == curB) {
                return curA;
            }
            curA = curA->next;
            curB = curB->next;
        }
        return NULL;
    }
};

時間復(fù)雜度:O(n + m)
空間復(fù)雜度:O(1)

算法思想

好!按照老樣子,接下來開始詳細講解每行代碼的用處,以及為什么這樣寫!

ListNode* curA = headA;
ListNode* curB = headB;

//設(shè)置兩個指針curAcurB分別指向鏈表A鏈表B頭節(jié)點。

int lenA = 0, lenB = 0;

//設(shè)置鏈表A鏈表B的長度,并初始化為0

while (curA != NULL) { 
            lenA++;
            curA = curA->next;
        }
while (curB != NULL) { 
            lenB++;
            curB = curB->next;
        }

//計算鏈表A鏈表B的節(jié)點數(shù)量,也就是計算鏈表長度。

curA = headA;
curB = headB;

//設(shè)置兩個指針curAcurB分別指向鏈表A鏈表B頭節(jié)點。

if (lenB > lenA) {
            swap (lenA, lenB);
            swap (curA, curB);
        }

//因為有三種情況,分別是lenB > lenA或者lenB < lenA或者lenB = lenA,當lenB = lenA時自然不需要處理。所以我們?yōu)榱私y(tǒng)一操作標準,不管鏈表A的長度長還是鏈表B的長度長,都設(shè)置為鏈表A的長度比鏈表B的長度長。
看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24

int gap = lenA - lenB;

//計算鏈表A鏈表B的長度差

while (gap--) {
            curA = curA->next;
        }

//該操作讓curAcurB在同一點上,即讓鏈表A鏈表B的末尾位置對齊
看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24

while (curA != NULL) {
            if (curA == curB) {
                return curA;
            }
            curA = curA->next;
            curB = curB->next;
        }
return NULL;

//遍歷鏈表A鏈表B(分別從curAcurB開始),如果發(fā)現(xiàn)相同,則代表成功找到交點。如果不相同,則同時向后移動curAcurB。否則循環(huán)退出返回空指針

結(jié)束語

如果覺得這篇文章還不錯的話,記得點贊 ,支持下!??!文章來源地址http://www.zghlxwxcb.cn/news/detail-443740.html

到了這里,關(guān)于看完這篇文章你就徹底懂啦{保姆級講解}-----(面試刷題鏈表相交) 2023.4.24的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題704、35、34數(shù)組二分查找) 2023.4.17

    看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題704、35、34數(shù)組二分查找) 2023.4.17

    本文章一部分內(nèi)容參考于《代碼隨想錄》----如有侵權(quán)請聯(lián)系作者刪除即可,撰寫本文章主要目的在于記錄自己學(xué)習(xí)體會并分享給大家,全篇并不僅僅是復(fù)制粘貼,更多的是加入了自己的思考,希望讀完此篇文章能真正幫助到您?。?! 數(shù)組是由n(n=1)個 相同類型 的數(shù)據(jù)元素

    2024年02月05日
    瀏覽(28)
  • 看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題203.707.206翻轉(zhuǎn)鏈表) 2023.4.21

    看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題203.707.206翻轉(zhuǎn)鏈表) 2023.4.21

    本文章一部分內(nèi)容參考于《代碼隨想錄》----如有侵權(quán)請聯(lián)系作者刪除即可,撰寫本文章主要目的在于記錄自己學(xué)習(xí)體會并分享給大家,全篇并不僅僅是復(fù)制粘貼,更多的是加入了自己的思考,希望讀完此篇文章能真正幫助到您!??! 力扣題目鏈接 關(guān)于這個算法思想,我在之

    2024年02月04日
    瀏覽(27)
  • 看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題242有效的字母異位詞) 2023.4.25

    看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題242有效的字母異位詞) 2023.4.25

    本文章一部分內(nèi)容參考于《代碼隨想錄》----如有侵權(quán)請聯(lián)系作者刪除即可,撰寫本文章主要目的在于記錄自己學(xué)習(xí)體會并分享給大家,全篇并不僅僅是復(fù)制粘貼,更多的是加入了自己的思考,希望讀完此篇文章能真正幫助到您?。。?力扣題目鏈接 分析題目: 什么叫做字母異

    2024年02月06日
    瀏覽(29)
  • 看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題142環(huán)形鏈表II) 2023.4.24

    看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題142環(huán)形鏈表II) 2023.4.24

    本文章一部分內(nèi)容參考于《代碼隨想錄》----如有侵權(quán)請聯(lián)系作者刪除即可,撰寫本文章主要目的在于記錄自己學(xué)習(xí)體會并分享給大家,全篇并不僅僅是復(fù)制粘貼,更多的是加入了自己的思考,希望讀完此篇文章能真正幫助到您!?。?力扣題目鏈接 分析題目: 其實本題目中主

    2024年02月05日
    瀏覽(18)
  • 看完這篇文章你就徹底懂啦{保姆級講解}-----(I.MX6U驅(qū)動UART串口通信) 2023.5.20

    看完這篇文章你就徹底懂啦{保姆級講解}-----(I.MX6U驅(qū)動UART串口通信) 2023.5.20

    串口是我們在開發(fā)過程中最常用到的外設(shè),所以我們必須掌握。 串口驅(qū)動初始化部分 好!按照老樣子,接下來開始詳細講解每行代碼的用處,以及為什么這樣寫! 串口驅(qū)動初始化部分講解開始: //將IO功能設(shè)置為UART1_RXD和UART1_TXD。 //配置UART1_TX_DATA、UART1_RX_DATA的IO屬性。 先關(guān)

    2024年02月05日
    瀏覽(22)
  • ai繪畫如何使用?看完這篇文章你就知道了

    ai繪畫如何使用?看完這篇文章你就知道了

    對于藝術(shù)家和創(chuàng)作者來說,AI繪畫可以作為一種實用的工具,提供靈感和創(chuàng)意的源泉。它可以分析和學(xué)習(xí)大量的藝術(shù)作品,從中汲取元素和風(fēng)格,并以獨特的方式重新組合和表達。這使得藝術(shù)家能夠更快速地探索和實驗不同的藝術(shù)風(fēng)格,從而推動他們的創(chuàng)造力和藝術(shù)表達的邊

    2024年02月09日
    瀏覽(22)
  • ai繪畫生成方法有哪些?看完這篇文章你就知道了

    ai繪畫生成方法有哪些?看完這篇文章你就知道了

    近年來,隨著人工智能技術(shù)的不斷發(fā)展和普及,AI 繪畫作為一種新興的藝術(shù)創(chuàng)作方式也逐漸被人們所認知。與傳統(tǒng)繪畫相比,AI 繪畫可以通過計算機算法自動生成,具有高效、便捷的特點,同時也能夠更好地滿足一些特定場景的需求。 在過去,數(shù)字藝術(shù)家需要通過繪制、建模

    2024年02月15日
    瀏覽(31)
  • 怎么用ai繪畫二次元拍同款?看完這篇文章你就懂了

    怎么用ai繪畫二次元拍同款?看完這篇文章你就懂了

    在我們的二次元世界里,每一張優(yōu)質(zhì)的插圖都能夠引發(fā)無盡的想象和瞬間的心動。而現(xiàn)如今,隨著人工智能技術(shù)的飛速發(fā)展,ai繪畫已經(jīng)成為一個備受矚目的領(lǐng)域。在使用ai繪畫生成二次元作品時,ai繪畫二次元描述詞就顯得相當重要。那么,究竟ai繪畫二次元描述詞怎么寫呢

    2024年02月16日
    瀏覽(25)
  • 中綴表達式轉(zhuǎn)后綴表達式看完這一篇文章你就懂了

    一、什么是中綴表達式 二、什么是后綴表達式 三、后綴轉(zhuǎn)中綴具體思路 四、代碼實現(xiàn) 中綴表達式就是我們常用的算術(shù)表達方式,例如 (12+34)*5 ,運算符在兩個數(shù)的中間,但是對于中綴表達式來說括號和加減乘除使得問題對于計算機非常復(fù)雜,為了有效的處理他們,波蘭邏輯

    2024年02月08日
    瀏覽(16)
  • 你真的學(xué)懂if語句了嘛,看完這篇文章你一定會讓你有所收獲,徹底玩轉(zhuǎn)if語句!

    你真的學(xué)懂if語句了嘛,看完這篇文章你一定會讓你有所收獲,徹底玩轉(zhuǎn)if語句!

    ?? 鴿芷咕 :個人主頁 ??? 個人專欄 :《C語言初階篇》 《C語言進階篇》 ??生活的理想,就是為了理想的生活! ?? ?? hello! 各位寶子們大家好啊,相信大家都多多少少了解過if語句吧,但是你真的有了解過,所有if語句的細節(jié)嗎?學(xué)完這篇文章你將知道if語句的所有知識

    2024年02月11日
    瀏覽(42)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包