82. 删除排序链表中的重复元素 II
2023-09-14 09:06:50 时间
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。
示例 1:
输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]
示例 2:
输入:head = [1,1,1,2,3]
输出:[2,3]
解题代码如下所示:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head){
int pre;
struct ListNode* prendoe=(struct ListNode* )malloc(sizeof(struct ListNode)),*s;
prendoe->next=NULL;
s=prendoe;
while(head){
struct ListNode* start=head;
int count=0;
while(start->val==head->val){
count++;
start=start->next;
if(start==NULL){
break;
}
}
if(count>=2){
head=start;
}
else{
head->next=prendoe->next;
prendoe->next=head;
prendoe=prendoe->next;
head=start;
}
}
return s->next;
}
相关文章
- 删除排序链表中的重复元素
- Java实现 LeetCode 148 排序链表
- Java实现 LeetCode 148 排序链表
- Java实现 LeetCode 143 重排链表
- Java实现 LeetCode 82 删除排序链表中的重复元素 II(二)
- Java实现 LeetCode 82 删除排序链表中的重复元素 II(二)
- LeetCode(82):删除排序链表中的重复元素 II
- LeetCode(23):合并K个排序链表
- 【链表】LeetCode 148. 排序链表【中等】
- 36. 合并两个排序的链表
- 剑指 Offer II 021. 删除链表的倒数第 n 个结点
- Python 触“类”旁通5|链表类才是单链表的主咖
- C++数据结构--循环链表与双向链表
- 删除排序链表中的重复元素(C++)
- 【剑指Offer学习】【面试题27:二叉搜索树与双向链表】
- 链表排序
- 剑指 Offer II 078. 合并排序链表 -由二至多
- 两数相加 II-c语言链表
- NC133 链表的奇偶重排
- [LeetCode] 83. Remove Duplicates from Sorted List ☆(从有序链表中删除重复项)
- [华为机试练习题]24.删除链表中的反复节点、剩余节点逆序输出
- LeetCode 82. 删除排序链表中的重复元素 II
- 【LeetCode】148. 排序链表
- 【LeetCode】148. 排序链表