首页>itarticle>82. remove duplicates from sorted list ii
82. remove duplicates from sorted list ii
admin11月 12, 20200
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = NoneclassSolution(object):defdeleteDuplicates(self,head):""" :type head: ListNode :rtype: ListNode """ifhead==None:returnheadcurrent=headprevious=Noneprepre=None# third cursorflag=0whilecurrent!=None:# test several timesifprevious!=None:ifcurrent.val==previous.val:previous.next=current.next# remove currentcurrent=previous.nextflag=1else:# is previous != current, two states need to be consideredifflag==0:# move onprepre=previousprevious=currentcurrent=current.nextelse:# also remove previousifprepre!=None:prepre.next=currentprevious=currentcurrent=current.nextelse:previous=Nonehead=currentflag=0else:# previous == None, move onprevious=currentcurrent=current.nextifflag==1andhead!=None:# if list end but still flag == 1, remove previousifprepre!=None:prepre.next=currentelse:head=currentreturnhead
近期评论