在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5
思路1:
用乙個set來記錄重複的結點
class
solution
listnode* new_phead=
newlistnode(-
1);//這個操作主要是為了防止第乙個就是重複的,因此把頭結點延長乙個
new_phead-
>next=phead;
p=phead;
listnode* np=new_phead;
while
(p)else
//否則兩個指標同時移動
}return new_phead-
>next;
//返回延長頭結點的下乙個}}
;
思路2:不使用額外的空間來實現
class
solution
else
}return new_phead-
>next;}}
;
劍指offer56 刪除鍊錶中重複的結點
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 注意是把重複的刪除,不是刪掉重複的 coding utf 8 class listnode def init self,x self.val x...
劍指offer56 刪除鍊錶中重複的節點
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 注意如果是頭結點的判斷 另外,每次 next的時候都需要判斷當前節點是否為空 struct listnode class solution 如果...
劍指offer 56 刪除有序鍊錶中的重複結點
56.刪除有序鍊錶中的重複結點 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 借助輔助頭結點,可避免單獨討論頭結點的情況。設定兩個結點 pre 和 cur,當 cur 和 cur.next ...