劍指offer系列 56 刪除鍊錶中重複的結點

2022-06-24 09:48:10 字數 567 閱讀 1147

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

a:題目並不難,重要的是,可以在head前新增乙個頭結點,防止head被刪的情況。

listnode *deleteduplication(listnode *phead)  else 

}return phead->next;

}

q:給出乙個排好序的鍊錶,刪除鍊錶中的所有重複出現的元素,只保留原煉表中只出現一次的元素。

例如:給出的鍊錶為1->2->3->3->4->4->5, 返回1->2->5.

給出的鍊錶為1->1->1->2->3, 返回2->3.

a:

public static listnode deleteduplicates(listnode head)  else 

cur = cur.next;

}return newhead.next;

}

劍指offer 解題系列(56) 鍊錶中環的入口

乙個鍊錶中包含環,請找出該鍊錶的環的入口結點。使用兩個指標,乙個跳動1下,另乙個跳動2下,最後兩個指標會在某一處重合,此時再定義乙個新指標從開頭開始跳動,剛才的指標也同時開始跳動,兩者最後會在入口節點相遇。listnode entrynodeofloop2 listnode head if fast...

56 劍指offer 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 非遞迴的 1.首先新增乙個頭節點,以方便碰到第乙個,第二個節點就相同的情況 2.設定 pre last 指標,pre指標指向當前確定不重複的那個...

56 劍指offer 刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解題思路 從頭遍歷整個鍊錶,如果當前結點和下一結點值相同,則應當刪除。為了保證結點不斷,需要儲存pre結點,然後找到不相等的next,...