已知一个元素值递增有序的单链表l(允许出现值重复的结点),设计算法删除值重复的结点。
时间: 2023-04-27 15:00:39 浏览: 236
已知单链表L为按值递增有序的,编写算法将数据元素e插入到顺序表L中,使之仍有序
5星 · 资源好评率100%
算法步骤如下:
1. 定义两个指针p和q,分别指向链表的头结点和第二个结点。
2. 遍历链表,如果p指向的结点的值等于q指向的结点的值,则删除q指向的结点,并将q指向下一个结点。
3. 如果p指向的结点的值不等于q指向的结点的值,则将p和q都向后移动一个结点。
4. 重复步骤2和步骤3,直到q指向链表的最后一个结点。
5. 返回链表的头结点。
算法的时间复杂度为O(n),其中n为链表的长度。
阅读全文