1.题目
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。
2.思路

3.代码
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplication(self, pHead):
# write code here
dummy = ListNode(-1)
dummy.next = pHead
pre = dummy
cur = pHead
while cur:
while cur.next and cur.val == cur.next.val:
cur = cur.next
if pre.next == cur:
pre = pre.next
else:
pre.next = cur.next
cur = cur.next
return dummy.next
删除链表中重复元素
本文介绍了一种算法,用于删除排序链表中的重复结点,确保每个元素只出现一次。通过使用虚拟头节点和双指针技术,实现了高效且简洁的解决方案。
5万+

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



