劍指18 刪除鍊錶的節點

2021-10-07 14:16:40 字數 540 閱讀 9440

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

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

分析:刪除結點很簡單,只需要知道被刪除結點的前一結點即可,先求出前一結點,然後刪除即可。

這裡給出兩種方法,建議使用第二種雙指標,這裡雙指標只需要將乙個指標去搜查被刪除的結點,另乙個指標跟著這個指標的後面,另乙個指標就是我們要找的被刪除結點的前一結點了。

class solution 

}

這裡給出乙個小白提示,新手一般不好理解 cur.next = cur.next.next;

等號右邊的是鍊錶箭頭所指的方向!記住這個頭插法什麼的一下都清楚了。

雙指標:

class solution 

if(cur != null) pre.next = cur.next;

return

head;}

}

劍指offer18 刪除鍊錶節點

1.考慮輸入空鍊錶和乙個節點鍊錶 2.如果頭節點不重複,直接遞迴查詢重複 3.雙指標,進行判斷兩個節點是不是相等 coding utf 8 class listnode def init self,x self.val x self.next none class solution def dele...

劍指offer 18 刪除鍊錶的節點

描述 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。示例 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.常規思路 定義乙個暫時變數用來刪除節點...

劍指offer 18 刪除鍊錶的節點

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