題目描述
在一個排序的鏈表中,存在重複的結點,請刪除該鏈表中重複的結點,重複的結點不保留,返回鏈表頭指針。 例如,鏈表1->2->3->3->4->4->5 處理後爲 1->2->5
思路一:構造一個新的鏈表,把不重複的結點鏈接進去就好了
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplication(self, pHead):
if pHead is None:
return None
li = []
p = phead= ListNode(0)
while pHead:
li.append(pHead.val)
pHead = pHead.next
for val in li :
if li.count(val) == 1:
p.next = ListNode(val)
p = p.next
return phead.next #注意這裏的輸出啊,因爲phead是創建的一個值爲0的結點,但是原鏈表中是不存在這個結點的,所以要返回phead.next