首页 > 代码库 > [Leetcode] Remove Duplicates from Sorted List

[Leetcode] Remove Duplicates from Sorted List

Remove Duplicates from Sorted List

 

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

Solution:

Approach: "Building-block" methods: basic operation - Deleting node

current.next = current.next.next # remove 2nd duplicated node
# Definition for singly-linked list.# class ListNode:#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution:    # @param head, a ListNode    # @return a ListNode    def deleteDuplicates(self, head):        #迭代版,时间复杂度O(n),空间复杂度O(1)        current = head        while current and current.next:            if current.val == current.next.val:                current.next = current.next.next # remove 2nd duplicated node            else:                current = current.next        return head

 

[Leetcode] Remove Duplicates from Sorted List