題目:
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5。
思路:
因為重複結點不保留且有可能從頭結點開始重複,所以應當新建乙個結點位於頭結點的之前,從新建的結點開始遍歷。因為要將重複的結點全部刪除,所以要設定乙個結點pnode指向當前結點,然後再乙個結點prenode指向當前結點的前乙個結點,用於記錄刪除重複結點之前的位置,將prenode指向刪除重複結點之後的結點,即實現了刪除重複結點的功能。
class
listnode
}class
solution
prenode.next = pnode;//將重複結點的前乙個結點指向重複結點的後乙個結點,即刪除重複結點
}else
}return prehead.next;//返回頭結點,注意不能直接返回phead,因為有可能從頭結點就開始重複
}}
劍指offer 鍊錶 刪除鍊錶中的重複節點
題目在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 思路分析 思路一 使用linkedlist儲存不重複節點,重構鍊錶 分析評價 這個方法是乙個比較直接且容易想到的方法,使用時只要注意一些情況...
劍指offer 刪除鍊錶中重複的結點(鍊錶)
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 class solution listnode ans newlistnode 1 ans next phead listnode link a...
劍指Offer 鍊錶 刪除鍊錶中重複的結點
題目 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。注意該鍊錶為排序鍊錶,重複的節點不保留哦!public class listnode 1 遞迴 遞迴的方法就像是先判斷第乙個節點和之後的節...