牛客刷題之刪除鍊錶中重複的節點

2021-09-25 23:54:32 字數 647 閱讀 9511

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

解題思路:

首先定義兩個變數cur和pre,開始都指向頭節點,用cur來尋找重複的節點,用pre來記錄非重複的節點。

分為兩種情況:

(1)如果鍊錶從頭就開始重複,則需要將頭節點重新賦值為刪除重複節點後的第乙個節點。

(2)如果鍊錶從中間開始重複,則首先尋找到重複節點,此時cur指向的是重複節點的第二個,然後讓前邊非重複節點的下乙個元素直接指向cur的下乙個節點即可,此時再讓cur繼續尋找下一對重複的節點。

最後,返回新的頭節點即可。

/*

public class listnode }*/

public class solution

listnode cur = phead;

listnode pre = phead;

while(cur!= null)

if(flag)

pre.next = cur.next;

cur = pre.next;

}else

}return phead;

}}

牛客刷題鍊錶之刪除鍊錶中重複的節點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 目前提供兩種方式,第一種通過乙個前指標和當前指標,找到重複節點並刪除 第二種1.首先新增乙個頭節點,以方便碰到第乙個,第二個節點就相同的情況2....

牛客網刷題之鍊錶入環點 刪除鍊錶中重複節點

題目一描述 給乙個鍊錶,若其中包含環,請找出該鍊錶的環的入口結點,否則,輸出null。題目分析 鍊錶是否有環使用兩種方式進行判斷 參考牛客網左神演算法課 1.將鍊錶使用hash進行儲存,如果兩個節點有相同的hash值則表明鍊錶有環 2.使用雙指標,定義乙個快指標和乙個慢指標,快指標每次走兩步,慢指標...

牛客刷題 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解題思路 用兩個指標,pre指向當前結點的前乙個,cur指向當前結點,兩個指標都從頭結點開始判斷,cur val cur next val是重複...