题目描述
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
题目来源:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
解题思路
- leetcode 链表题目中,链表结构体都是没有头结点的。每次我都会自动构造一个头结点。
- 链表题目其实都不难,画画图基本都能够解出来。
本题目比较简单。
判断当前元素和下一个元素是否相等,如果相等则将下一个元素删去。
实现代码
ListNode* deleteDuplicates(ListNode* head)
{
ListNode* phead = new ListNode(-1);
phead->next = head;
ListNode* p = phead->next;
while(p && p->next)
{
if(p->val == p->next->val)
{
p->next = p->next->next;
}
else
{
p = p->next;
}
}
return phead->next;
}