題目描述:
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5
思路:
非遞迴:**:1 . 首先新增乙個頭節點,以方便碰到第乙個,第二個節點就相同的情況
2 .設定 p1 ,p2 指標, p1指標指向當前確定不重複的那個節點,而p2指標相當於工作指標,一直往後面搜尋。
class
solution
p1->next=p2-
>next;
//抹掉所有相等的節點(即p2)
p2=p2-
>next;
}else
}return head-
>next;}}
;
總結:
自己做的時候思路大概正確,但是,不會刪除重複節點,即p1->next=p2->next ,又學到一點點。
劍指Offer刷題 鍊錶
劍指 offer 18.刪除鍊錶的節點 難度簡單 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的...
劍指offer刷題日記 鍊錶
鍊錶03 從尾到頭列印鍊錶 python 採用insert方法 class solution def printlist self,listnode if not listnode return result while listnode result.insert 0 listnode.val l...
《劍指offer》刷題(1)鍊錶
最近二刷 劍指offer 的題目,寫寫其中關於鍊錶的解題思路 劍指offer18題 需要兩個指標,pre儲存刪除節點的前驅指標,cur儲存要刪除節點的指標 public listnode deletenode listnode head,int val if cur null return dumm...