刪除未經過排序的鍊錶中重複的節點

2021-09-26 02:17:11 字數 652 閱讀 5271

給定乙個無序單鏈表的頭節點 head,刪除其中值重複出現的節點。

例如:1->2->3->3->4->4->2->1->null,刪除值重複的節點之後為1->2->3->4->null。

迴圈遍歷,類似於選擇排序思想

#include using namespace std;

//結點

struct node

;//尾插法

node* create_list(int v, int len)

else

}node* n1 = new node();

n1->value = --v;

n1->next = null;

slider->next = n1;

return ret;//返回煉表頭結點

}void destory_list(node* list)

}void print_list(node* list)

cout << "null" << endl;

}void removenode(node* list)

else

next = pre->next;

}cur = cur->next;

}}int main()

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

分析 思路比較簡單,如果元素相等則指向下乙個。但是要考慮清楚測試用例的覆蓋完備性,最開始筆者就沒考慮到兩個以上重複的元素出現,只考慮了乙個重複的導致錯誤。新增continue語句那裡解決了這個問題。definition for singly linked list.public class list...

刪除排序鍊錶中的重複項

一 題目描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次 示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 二 我的思路 從頭遍歷整個鍊錶,借助乙個cur指標指向鍊錶的下乙個元素,如果下乙個元素與目前元素相等,就將該元素的指標指向下下個...

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

一 遍歷方法 思路 通過遍歷一遍鍊錶在遍歷的過程中刪除節點,因為鍊錶是有序的,所以只需比較當前節點和當前節點的下乙個節點,這裡需要注意一下,如果有重複的使用了head.next head.next.next刪除下乙個節點了,但是於下乙個新的節點對比還是現在這個節點,所以不要head head.nex...