83.删除排序链表中的重复元素
题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
思路:先判断头结点和其下一个结点是否为空,为空则返回头结点While循环为当前结点和其下一个结点不为空,两者值相同则删,不同指针后移
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head)
{
if(!head || !head->next)
{
return head;
}
ListNode * p = head;
while(p->next!=NULL && p != NULL)
{
if(p->val == p->next->val)
{
p->next = p->next->next;
}
else
{
p = p->next;
}
}
return head;
}
};