题解 | #牛群排列去重#
牛群排列去重
https://www.nowcoder.com/practice/8cabda340ac6461984ef9a1ad66915e4
package main
// import "fmt"
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
func deleteDuplicates(head *ListNode) *ListNode {
// write code here
m := make(map[int]struct{})
tmp := head
pre := &ListNode{Next: tmp}
for tmp != nil {
// 已经在map中,删除该节点
if _, ok := m[tmp.Val]; ok {
pre.Next = tmp.Next
tmp = tmp.Next
continue
}
m[tmp.Val] = struct{}{}
pre = pre.Next
tmp = tmp.Next
}
return head
}
