1.問題描述
給定乙個排序鍊錶,刪除所有重複的元素每個元素只留下乙個。 樣例
給出1->1->2->null
,返回1->2->null
給出1->1->2->3->3->null
,返回1->2->3->null
2.解題思路
因為鍊錶是排好序的,所以相同的元素是挨著的,所以只需要判斷相鄰兩個節點值的大小,相同則用下乙個節點覆蓋,不同則移動到下乙個節點。
3.**實現
/*** definition of listnode
* class listnode
* }*/
class solution
listnode*p,*q;
p=head;
q=head->next;
while(q!=null)
else
q=p->next;
}return head;}};
4.感想
注意最後的返回操作,不要忘記判空。
刪除排序鍊錶中重複元素
示例 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,...