Leetcode每日一题-82.删除排序链表中的重复元素
func deleteDuplicates(head *ListNode) *ListNode {
first := &ListNode{
-1, head,
}
p := head
pre := first
// 判断当前值是不是连续相同值, true表示不连续
var flag bool
for p != nil {
flag = true
for p.Next != nil && p.Val == p.Next.Val {
// 如果连续相同,那么flag变为false
flag = false
p = p.Next
}
// 如果是不同值
if flag {
// true表示非连续相同,那么值需要保留,追加到pre后
pre.Next = p
pre = pre.Next
}
p = p.Next
}
pre.Next = nil
return first.Next
}