Remove Duplicates from Sorted List - LeetCode

来源:互联网 发布:淘宝网优惠券领取 编辑:程序博客网 时间:2024/05/19 08:43

Remove Duplicates from Sorted List - LeetCode

题目:

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.


分析:

这道题目应该就是考一个基本的链表删除,没什么难度,我用一个变量now记录现结点的val,若与下一个结点的val不一样,则把now替换成现结点的val;否则用

delete函数删除现结点,并且跳到下一个结点。

代码:

class Solution:    # @param head, a ListNode    # @return a ListNode    def deleteDuplicates(self, head):        now = 0        prev = head        temp = head        while head is not None:            if now != head.val:                now = head.val                prev = head                head = head.next            else:                head = self.delete(prev, head)        return temp        def delete(self,prev,head):        prev.next = head.next        del head        return prev.next


0 0