#coding:utf-8 # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param head ListNode类 # @return ListNode类 # class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def print_node_list(self, node): ret = [] if node == None: pass while node != None: ret.append(node.val) node = node.next print ("Ret is: ", ret) return def deleteDuplicates(self , head ): # write code here ##init if head == None: return None if head.next == None: return head dummy = ListNode(-1) dummy.next = head cur = head next_nd = cur.next ##process while cur != None: next_nd = cur.next #注意:1、上面循环不变量应该用cur 2、next应该在这里取 cur_val = cur.val #next_val = next_nd.val while next_nd != None and next_nd.val == cur_val: next_nd = next_nd.next cur.next = next_nd cur = next_nd #self.print_node_list(dummy.next) ##Debug使用 return dummy.next