刪除鍊錶中重複的結點

2021-08-20 19:05:36 字數 598 閱讀 1656

題目:在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5

分析:如果鍊錶為空,返回空(魯棒穩定性);

設定兩個指標,分別指向當前處理物件與上乙個物件;設定乙個識別符號(should_delete),當出現重複節點時將識別符號置為true,否則為false;後面將通過識別符號判斷執行的步驟

當沒有重複節點時,將cur和pre向前移動一位;有重複節點時,設定pnext指向cur下乙個物件,刪除cur,並令cur指向pnext,直到刪除所有的重複節點,如果重複節點在開頭,phead此時被刪除,重新令現在的cur指向的物件為phead,對於中間的重複節點,令pre->next指向當前值(連線斷裂的鏈)

/*

struct listnode

};*/

class solution

else

if(pre==null)

phead=cur;

else

pre->next=cur;}}

return phead;

}};

刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶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...