刪除鍊錶中重複的結點

2021-09-10 21:11:10 字數 474 閱讀 9529

學習內容

刪除鍊錶中重複的結點

(1)思路

使用三個指標。乙個指向當前結點的最晚被訪問不重複結點。乙個指向當前結點。乙個指向當前結點的最後乙個重複結點。當前結點的下乙個結點可能是重複結點、新結點(也就是不重複結點)、空。如果當前結點的下乙個結點是重複結點,那麼找到它最後乙個重複的結點記作pnext。如果當前結點的下乙個結點是空結點或者新結點,那就更新當前結點和當前結點的最晚被訪問的不重複結點。

(2)** /*

struct listnode };/

class solution

if(pnode==phead)

else

//下乙個不重複結點

pnode=pnext->next;

}//當前結點的下乙個結點是空或者不是重複結點

else

} return phead;

}};2. 參考**

刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。刪除鍊錶中重複的結點 author 過路的守望 public class duplicationnode 新建乙個節點指向頭結點 li...

刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解法一 遞迴 public class listnode public class solution if phead.next.val phe...

刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 題目分析 刪除鍊錶中的結點要比較當前結點是否與前面結點和後面結點相同,只有兩個都不同的結點才保留。用pre儲存前乙個節點,cur儲存當前結點,c...