python算法:删除排序链表中的重复元素

    技术2025-12-13  13

    删除排序链表中的重复元素

    给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 举例: 如果q和q的下一个元素的值相同,直接跳过此元素,即: q.next=q.next.next 这时链表变成了: 这时再进行一次遍历,如果q的值与q的下一个元素的值不一致,那么q向后一位移动,q.next会自动向后一位移动: q = q.next 代码如下:

    # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def deleteDuplicates(self, head: ListNode) -> ListNode: q = head while q and q.next: if q.val == q.next.val: q.next = q.next.next else: q = q.next return head

    题库来源:https://leetcode-cn.com

    Processed: 0.023, SQL: 10