Talk is cheap.
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteDuplication(head *ListNode) *ListNode {
dummy := &ListNode{Next: head}
tmp := dummy
for head != nil && head.Next != nil {
if head.Val == head.Next.Val {
for head != nil && head.Next != nil && head.Val == head.Next.Val {
head = head.Next
}
tmp.Next = head.Next
head = head.Next
} else {
tmp = tmp.Next
head = head.Next
}
}
return dummy.Next
}
赞