给定一个已排序的链表的头 head
, 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
leetcode每日一题,简单题就不讲了,就模拟数据结构链表的操作。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==nullptr || head->next==nullptr)return head;
ListNode * p = head;
while(p!=nullptr)
{
ListNode * next = p->next;
while(next!=nullptr&&p->val == next->val)next=next->next;
p->next=next;
p=p->next;
}
return head;
}
};