S O 18 刪除鍊錶的節點(Python)

2021-10-14 06:48:30 字數 1371 閱讀 2369

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。

返回刪除後的鍊錶的頭節點。

刪除值為 val 的節點可分為兩步:定位節點、修改引用。

定位節點: 遍歷鍊錶,直到 head.val == val 時跳出,即可定位目標節點。

修改引用: 設節點 cur 的前驅節點為 pre ,後繼節點為 cur.next ;則執行pre.next = cur.next,即可實現刪除 cur 節點

參考:link

特例處理: 當應刪除頭節點 head 時head.val==val,直接返回 head.next 即可。

初始化: pre = head , cur = head.next 。

跳出後,如果cur非空(if cur)說明是因為cu.val==val跳出的,則刪除節點: 若 cur 指向某節點,則執行pre.next = cur.next。(若 cur 指向null ,代表鍊錶中不包含值為 val 的節點。)

返回值: 返回鍊錶頭部節點 head 即可。

------2021-01-08-記住雙指標!以及刪除的節點的方法—

18 刪除鍊錶節點

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...

18 刪除鍊錶的節點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 1.首先新增乙個頭節點,以方便碰到第乙個,第二個節點就相同的情況 2.設定 pre last 指標,pre指標指向當前確定不重複的那個節點,而l...

18 刪除鍊錶的節點

class node object 節點類 def init self,data self.num data self.next none class deletenode object 實現刪除指定節點功能 defdelete node self,head,delnode if head none...