题意:
删去链表中重复的元素。
思路:
找到重复元素,并删去。
代码如下:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head) {
struct ListNode *f, *l;
if(head==NULL){
return head;
}
if(head->next==NULL){
return head;
}
f=head;
l=head->next;
if(f->val==l->val){
f->next=l->next;
}
while(l!=NULL){
if(f->val==l->val){
f->next=l->next;
l=l->next;
}
else{
f=l;
l=l->next;
}
}
return head;
}

本文介绍了一种算法,用于从单链表中删除所有重复的元素。通过一次遍历链表,比较当前节点与后续节点的值来实现,若发现重复则调整指针跳过重复节点。
726

被折叠的 条评论
为什么被折叠?



