给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2 输出: 1->2
示例 2:
输入: 1->1->2->3->3 输出: 1->2->3
思路:要删除一个排序链表的重复元素,重复元素都是挨着的,还是用两个指针来解决问题,一个指针用来查找重复的元素,一个指针用来重新串联起一个新的链表。
ListNode* deleteDuplicates(ListNode* head) { if(head==NULL) return head; ListNode* cur,*p; cur=p=head; while(cur) { if(p->val!=cur->val) { p->next=cur; p=cur; } cur=cur->next; } p->next=NULL; return head; }
原文地址:https://www.cnblogs.com/mini-coconut/p/9416223.html
时间: 2024-10-08 13:25:59