Skip to content

Latest commit

 

History

History

0083.remove-duplicates-from-sorted-list

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

题目描述

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2

示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

解题思路

  1. 当前节点的下一个指针不为空时,判断当前节点的值跟下一个指针节点的值是否相等。
  2. 如果相等,则将下下个节点的指针指向当前节点的下一个指针。
  3. 如果不相等,则指针往前移。

代码实现

Golang

type ListNode struct {
	Val  int
	Next *ListNode
}

func deleteDuplicates(head *ListNode) *ListNode {
	if head == nil {
		return nil
	}
	ret := head
	for head.Next != nil {
		if head.Val == head.Next.Val {
			head.Next = head.Next.Next
			continue
		}
		head = head.Next
	}
	return ret
}