无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Leetcode鏈表【代碼隨想錄--Part2】

2023-07-14 16:21 作者:Poyo_a  | 我要投稿

基礎(chǔ)知識:

? ? ? ? 1.? 【鏈表的基本定義:】線性結(jié)構(gòu)利用指針連結(jié)在一起。這些線性結(jié)構(gòu)是指存儲東西的連結(jié)方式,其中要連結(jié)的是結(jié)點。

? ? ? ? ?2. ?【鏈表的結(jié)點】:分為數(shù)據(jù)域和指針域

單鏈表

?3.【鏈表的分類】:單鏈表、雙鏈表和循環(huán)鏈表

? ?其中單鏈表是“基本模型”,雙鏈表和循環(huán)鏈表是在他的基礎(chǔ)上改進的。

? ? ? ? ? ?3.1【雙鏈表】:其中的是指在原來一個指針域的基礎(chǔ)上,再添加一個指針域,這樣總的就有兩個指針域。

雙鏈表,特色是:雙指針

? ? ? ? ? 3.2【循環(huán)鏈表】:是指在單鏈表的基礎(chǔ)上,把最后指向NULL的指針,指向它的頭部

舉個例子:

類似于這樣

? ? ? ??


【鏈表的基本定義的例子】?給要點餐的一群人排好序用計算機存儲起來。在計算機中我們可以采用 數(shù)組鏈表。

【鏈表實際存儲數(shù)據(jù)的例子】

來自youtube Neso Academy

head 存放第一個結(jié)點的數(shù)據(jù)地址,第一個結(jié)點存放第二個結(jié)點的數(shù)據(jù)地址......


練習:

? 方法1:


還是比較簡單的,這里是學習了解法中的遞歸法。


【重點】:遞歸重點看return然后把return的結(jié)果和removeElenets對比來看。

方法2:虛擬頭結(jié)點:

? 引入:我們經(jīng)過第一個方法發(fā)現(xiàn): 刪除結(jié)點的話,可能是頭結(jié)點,可能是除了頭結(jié)點的。所以奇思妙想的我們,想到用虛擬頭結(jié)點來解決這個問題,讓head不再是第一個了嘔。

第一步:我們來看看如何設(shè)置虛擬頭結(jié)點;

? ??

dummynode原本指向1結(jié)點,然后跨過去指向4。和原來的刪除結(jié)點差不多嘔。

第二步:代碼演示

【技術(shù)總結(jié)】:1.新申請了一個結(jié)點要用new?

? ? ? ? ? ? ? ? ? ? ? ? 2.這個結(jié)點也同樣使用了 cur來操作,來操作鏈表的走向。

? ? ? ? ? ? ? ? ? ? ? ?3.最后就是delete 多余的結(jié)點,最后head要更新。不然會出現(xiàn)鏈條斷不干凈。

這道題一共要實現(xiàn)的目標是 獲取第n個節(jié)點的值,頭部插入節(jié)點,尾部插入節(jié)點,第n個節(jié)點錢插入節(jié)點。刪第n個節(jié)點。


1.獲取第n個節(jié)點的值(利用虛擬頭結(jié)點):

【技術(shù)總結(jié)】:

要引入一個temp中間變量來存儲,因為temp,因為cur改變指向,沒有指針再連結(jié)head了。所以要提前備份一個。

利用cur=temp來不斷遍歷鏈表

Leetcode鏈表【代碼隨想錄--Part2】的評論 (共 條)

分享到微博請遵守國家法律
安乡县| 桃园市| 安义县| 合水县| 葫芦岛市| 安泽县| 沈阳市| 太白县| 页游| 壶关县| 太原市| 抚松县| 长春市| 香格里拉县| 巴南区| 扶风县| 东乡| 政和县| 郑州市| 林西县| 山东省| 泰安市| 夹江县| 金坛市| 甘德县| 当阳市| 河东区| 浏阳市| 双鸭山市| 四子王旗| 南郑县| 子长县| 酉阳| 凌源市| 句容市| 常山县| 青川县| 兰州市| 柯坪县| 特克斯县| 惠水县|