題目:給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。
返回刪除後的鍊錶的頭節點。
分析:刪除結點很簡單,只需要知道被刪除結點的前一結點即可,先求出前一結點,然後刪除即可。
這裡給出兩種方法,建議使用第二種雙指標,這裡雙指標只需要將乙個指標去搜查被刪除的結點,另乙個指標跟著這個指標的後面,另乙個指標就是我們要找的被刪除結點的前一結點了。
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 輸入...