#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