给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
思路:若链表的后一个节点与前一个节点相等,则直接指向下下个节点
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head)
{
ListNode* temp=head;
if(temp==NULL)
return head;
while(temp->next!=NULL&&temp!=NULL)
{
if(temp->val==temp->next->val)
{
temp->next=temp->next->next;
}
else
temp=temp->next;
}
return head;
}
};