题解 | #删除链表中重复的结点#
删除链表中重复的结点
http://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param pHead ListNode类
# @return ListNode类
#
class Solution:
def deleteDuplication(self , head: ListNode) -> ListNode:
# write code here
newhead = ListNode(0)
node = newhead
while head :
#以例子{1,2,3,3,4,4,5}
#如果碰到 head.val ==3 head.next =3, 我们就跳过它,head = head.next
if head.next and head.val == head.next.val:
while head.next and head.val == head.next.val:
head = head.next
#挑出循环后,只是head.next.val = 4,但是head.val =3,所以我们让head直接指向下一个next
head = head.next
else:
newhead.next = head
newhead = newhead.next
head = head.next
newhead.next = None
return node.next