[LeetCode OJ]- Remove Duplicates from Sorted ListII

題目要求:刪除一個單向鏈表中重復出現的值,只保留出現過一次的數。如1->1->2->3->3刪除后為2

思路:

這道題看起來與

刪除一個鏈表中多重復出現的值

這道題差不多,但是分析過后,發現不少那么簡單。

因為僅僅靠單向鏈表的結構來處理,因為無法得知開始重復的節點的前一個節點位置,所以需要其他的方法。

這道題可以考慮用遞歸來實現。

當當前節點的值和下一個節點的值相等時,先求到距離當前節點最遠的值相等的節點s,返回s節點的遞歸;

當兩個值不等時,當前節點的下一個節點為對下一個節點做遞歸。


初始狀態

刪除過程
代碼如下。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容