存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3]
struct ListNode* deleteDuplicates(struct ListNode* head){ if(head==NULL||head->next==NULL) { return head; } struct ListNode* p=head; struct ListNode* q=head->next; while(q!=NULL) { if(p->val==q->val) { p->next=q->next; free(q); q=p->next; } else { p=q; q=q->next; } } return head; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)