刪除排序鍊錶中的重複元素

2021-07-29 15:35:01 字數 746 閱讀 1003

問題描述:給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。

樣例:給出 1->1->2->null,返回 1->2->null

給出 1->1->2->3->3->null,返回 1->2->3->null

實現思路:為了實現操作,我設定了兩個指標變數p和q,讓p指向開始結點,讓q指向第二個結點,即這兩個指標一前一後分別指向兩個資料元素。然後重複執行下述操作:首先判斷第二個結點是否是空 

1.若是空,則返回頭結點;

2.若不是空,再判斷當前值是否等於下乙個值。若是,則將當前元素的next域指向它的後繼的後繼;若不是,將p指標後移。

3.將q指標後移

實現**:

* definition of listnode

* class listnode

* }*/

class solution

listnode *p,*q;

p=head;

q=head->next;

while(q!=null)

else

q=p->next;}

return head;// write your code here}};

做題感想:這個題還是以刪除鍊錶中的元素為基礎,因為這個題是刪除重複的元素並保留乙個,所以考慮設定兩個指標進行遍歷操作。

刪除排序鍊錶中重複元素

示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5 示例 2 輸入 1 1 1 2 3 輸出 2 3 照例使用三個指標來 struct listnode deleteduplicates struct listnode head else 沒有重複的就正常移動 示例 1 輸入 1 1 2 ...

刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。樣例 給出 1 1 2 null,返回 1 2 null 給出 1 1 2 3 3 null,返回 1 2 3 null 加乙個頭結點 鍊錶有序,找到不相等的時候,刪除中間結點 兩兩比較是否相同進行刪除 definition for listn...

刪除排序鍊錶中的重複元素

題目 刪除排序鍊錶中的重複元素。給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。樣例 給出1 1 2 null,返回1 2 null 給出1 1 2 3 3 null,返回1 2 3 null 思路 該題所給的鍊錶是有序的鍊錶,這大大降低了該題的難度,所以只要再定義乙個指標p,固定head,...