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,...