給定乙個無序單鏈表的頭節點 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...