题解 | #删除链表中重复的结点#
删除链表中重复的结点
http://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef
class Solution {
public:
ListNode* deleteDuplication(ListNode* phead)
{
vector<int> v;
while(phead!=nullptr)
{
v.push_back(phead->val);
phead = phead->next;
}
ListNode* ph = nullptr;
ListNode* pe = nullptr;
for(int i = 0; i < (int)v.size(); i++)
{
if(count(v.begin(), v.end(), v[i]) == 1)
{
ListNode* pt = (ListNode*)malloc(sizeof(ListNode));
if(pt!=nullptr)
{
pt->val = v[i];
pt->next = nullptr;
if(ph == nullptr)
{
ph = pt;
pe = pt;
}
else
{
pe->next = pt;
pe = pt;
}
}
}
}
return ph;
}
};