願python的天堂裏沒有指針。node
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def deleteDuplication(self, pHead): # 前驅結點指針 pre_node = None # 當前節點指針 p = pHead while p: # 下一個節點的指針 next_node = p.next # 若是下一個節點存在,並且當前節點的值等於下一個節點的值,則須要進行刪除操做 if next_node and p.val == next_node.val: # 須要刪除的值,用於刪除連續的重複值 dup_value = p.val # 連續刪除,把next_node指針後移 while next_node and next_node.val == dup_value: next_node = next_node.next # 刪除的點爲頭節點 if not pre_node: pHead = next_node # 將前驅節點鏈接到下一個不重複的值上 else: pre_node.next = next_node # 運算後移 p = next_node else: pre_node = p p = p.next return pHead