给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
输入: 1->1->2 输出: 1->2 输入: 1->1->2->3->3 输出: 1->2->3
我们先来看看图示:
引入一个curr指针,指向头元素
判断curr.Val==curr.Next.Val,如果是一样的话,那就把curr.Next指向curr.Next.Next
如果curr.Val!=curr.Next.Val,那我们就要推进curr了,curr = curr.Next
func deleteDuplicates(head *ListNode) *ListNode { if head == nil { return nil } curr := head for curr.Next != nil { if curr.Val == curr.Next.Val { curr.Next = curr.Next.Next } else { curr = curr.Next } } return head }