编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
示例:
输入:[1, 2, 3, 3, 2, 1]
输出:[1, 2, 3]
输入:[1, 1, 1, 1, 2]
输出:[1, 2]
提示:
链表长度在[0, 20000]范围内。
链表元素在[0, 20000]范围内。
代码:
有点简单
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeDuplicateNodes(head *ListNode) *ListNode {
exsit, start, temp:= make(map[int]byte), head, head
for start != nil {
if _, ok := exsit[start.Val]; ok{
temp.Next = start.Next
start = start.Next
continue
}
exsit[start.Val]=1
temp = start
start = start.Next
}
return head
}