83. Remove Duplicates from Sorted List Leetcode Python

来源:互联网 发布:传奇单机版物品数据库 编辑:程序博客网 时间:2024/05/22 05:11
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.


定义一个pre 和cur

1.当二者不等的时候pre.next=cur pre=pre.next

2.当相等的时候pre.next=cur.next

3.每步都是cur=cur.next

代码如下:

# 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):        if head==None or head.next==None:            return head        dummy=ListNode(0)        dummy.next=head        pre=dummy.next        cur=dummy.next        while cur:            if pre.val!=cur.val:                pre.next=cur                pre=pre.next            else:                pre.next=cur.next            cur=cur.next        return dummy.next



0 0
原创粉丝点击