P13在O 1 時間內刪除鍊錶結點

2022-08-03 16:18:09 字數 499 閱讀 4416

package

offer;

//在 o(1)時間刪除鍊錶結點

public

class

problem13

public

static

void

deletenode(listnode head,listnode deletenode)

else

temp.nextnode = null

; }

else}}

}

不用全部遍歷鍊錶,對比,刪除;

把deletenode的下乙個結點複製到deletenode的位置,覆蓋deletenode(實際上是刪除deletenode的下乙個結點)

注意考慮用例:

結點只有乙個的鍊錶;

刪除有多個結點的鍊錶尾結點(遍歷);

刪除空結點,鍊錶為空;

刪除有多個結點的鍊錶的中間乙個結點。

O 1 時間內刪除指定鍊錶結點

題目 給定單鏈表頭指標和乙個結點指標,定義乙個函式在o 1 時間內刪除該結點。分析 對於上圖例項鍊錶 a 刪除指標p有兩種方式 於是,定位到思路2,但是思路2有兩個特例 刪除的是尾指標,需要遍歷找到前乙個指標 整個鍊錶就乙個結點 屬於刪尾指標,但沒法找到前面的指標,需要開小灶單獨處理 大體演算法思路...

O 1 時間內刪除指定鍊錶結點

題目 給定單鏈表頭指標和乙個結點指標,定義乙個函式在o 1 時間內刪除該結點。分析 對於上圖例項鍊錶 a 刪除指標p有兩種方式 於是,定位到思路2,但是思路2有兩個特例 刪除的是尾指標,需要遍歷找到前乙個指標 整個鍊錶就乙個結點 屬於刪尾指標,但沒法找到前面的指標,需要開小灶單獨處理 大體演算法思路...

面試題13 在O 1 時間內刪除鍊錶結點

題目 給定單向鍊錶的頭指標和乙個結點指標,定義乙個函式在o 1 時間刪除該結點。struct listnode 思路 如果按照常規方法,需要從頭指標開始遍歷,找到要刪除的節點指標的前乙個指標,使前乙個指標在指向要刪除結點的下乙個結點,則需要時間複雜度為o n 設要刪除的節點指標為i,結點指標順序為x...