Every day a leetcode
题目来源:83. 删除排序链表中的重复元素
解法1:遍历
首先特判空链表。
对于任一结点p:
- 若 p->val == p->next->val,则跳过p->next;
- 否则,p后移,p=p->next。
代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head){
if(head == NULL) return head;
struct ListNode* p=head;
while(p->next)
{
if(p->val == p->next->val) p->next=p->next->next;
else p=p->next;
}
return head;
}
结果: