83. 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
Example 1
输入: 1->1->2
输出: 1->2
Example 2
输入: 1->1->2->3->3
输出: 1->2->3
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head) {
if(head == NULL ) return head;
struct ListNode* p=head;
struct ListNode* q=head->next;
while(q != NULL)
{
if(p->val == q->val)
{
p->next = q->next;
q = q->next;
}
else
{
p->next = q;
p = q;
q = q->next;
}
}
return head;
}