题目:
给定一个已排序的链表的头 head
, 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
示例1:
输入:head = [1,1,2] 输出:[1,2]
示例2:
输入:head = [1,1,2,3,3] 输出:[1,2,3]
代码:
class Solution{
public:
ListNode* deleteDuplicates(ListNode* head)
{
if(!head)
{
return head;
}
ListNode* cur = head;
while(cur->next)
{
if(cur->val==cur->next->val){
cur->next = cur->next->next;
}
else
{
cur = cur->next;
}
}
return head;
}
};
复杂度分析:
时间复杂度:O(n);
空间复杂度:O(1)。