题目三十四:
给定一个排序链表,删除所有重复的元素每个元素只留下一个。
样例
给出 1->1->2->null
,返回 1->2->null
给出
1->1->2->3->3->null
,返回
1->2->3->null
代码:
/**
* Definition of ListNode
* class ListNode {
* public:
* int val;
* ListNode *next;
* ListNode(int val) {
* this->val = val;
* this->next = NULL;
* }
* }
*/
class Solution {
public:
/*
* @param head: head is the head of the linked list
* @return: head of linked list
*/
ListNode * deleteDuplicates(ListNode * head) {
// write your code here
int num;
ListNode *p,*q,*t=head;
while(t)
{
p=t;
num = p->val;
while(p->next)
{
if(p->next->val==num)
{
q=p->next;
p->next=q->next;
delete q;
}
else
p=p->next;
}
t=t->next;
}
return head;
}
};