题目描述[原题链接][acwing.com/problem/content/27/]
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留。
样例1
1 | 输入:1->2->3->3->4->4->5 |
样例2
1 | 输入:1->1->1->2->3 |
算法描述
步骤如下
- 创建一个虚拟节点
dummy
,保险,创建一个结点p
用于遍历链表 - 创建一个新节点
q
找重复的结点,找到所有的等值结点 - 判断
q
结点是否和p
结点的下一个结点相等,进行不同处理 - 返回
dummy.next
C++代码
1 | /** |
Java代码
1 | /** |