📅  最后修改于: 2023-12-03 15:40:53.171000             🧑  作者: Mango
在对一个有序链表进行操作时,有时需要删除其中重复的元素。这种情况下,可以编写一个Python程序来删除所有重复项。
以下是一个简单的程序样例:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if not head:
return None
cur = head
while cur.next:
if cur.val == cur.next.val:
cur.next = cur.next.next
else:
cur = cur.next
return head
该程序通过遍历链表,逐一删除所有重复的元素,最终返回一个没有重复元素的链表。
其中,ListNode为链表节点的定义类,deleteDuplicates函数用于删除重复元素。
具体来说,该函数首先对空链表进行特判,然后依次遍历链表,对于相邻两个节点值相同的情况,将后一个节点删除。直到遍历完整个链表,返回更新后的链表。
以上介绍了一个简单的Python程序,用于从排序链表中删除所有重复项。