顺序删除,双重循环
class LNode:
def __init__(self):
self.data = None
self.next = None
def removeDou(head):
if head == None or head.next == None :
return
outerCur = head.next
innerCur = None
innerPre = None
while outerCur != None:
innerCur = outerCur.next
innerPre = outerCur
while innerCur != None :
if innerCur.data == outerCur.data:
innerPre.next = innerCur.next
innerCur = innerCur.next
else:
innerPre = innerCur
innerCur = innerCur.next
outerCur = outerCur.next
if __name__ == '__main__':
i = 1
head = LNode()
cur = head
lists = [1,3,1,5,5,7]
for i in range(6):
tmp = LNode()
tmp.data = lists[i]
cur.next = tmp
cur = tmp
print('删除重复节点后:',end='')
removeDou(head)
cur = head.next
while cur != None:
print(cur.data,end=' ')
cur = cur.next