package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param head ListNode类
* @return ListNode类
*/
func deleteDuplicates( head *ListNode ) *ListNode {
// write code here
if head == nil || head.Next == nil {
return head
}
res := &ListNode{Val: -1}
res.Next = head
tmp := res
for tmp.Next != nil && tmp.Next.Next != nil {
//剔除相同节点
if tmp.Next.Val == tmp.Next.Next.Val {
sameVal := tmp.Next.Val
//下个节点、下下个节点相同
for tmp.Next != nil && tmp.Next.Val == sameVal {
//剔除下个节点,链接下下个节点
tmp.Next = tmp.Next.Next
}
} else {
tmp = tmp.Next
}
}
return res.Next
}