题解 | #牛群排列去重#
牛群排列去重
https://www.nowcoder.com/practice/8cabda340ac6461984ef9a1ad66915e4?tpId=354&tqId=10591390&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354
知识点:
hash
解题思路:
有map来存储以及存在过的值,一边遍历链表一边判断是否以及存在过,没有则加入结果集并加入map,反之跳过。
语言:
Golang
package main
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
func deleteDuplicates( head *ListNode ) *ListNode {
// write code here
exist:=map[int]bool{}
newHead:=&ListNode{}
cur :=newHead
for head!=nil{
if !exist[head.Val]{
exist[head.Val]=true
cur.Next =head
cur =cur.Next
}
head=head.Next
}
cur.Next =nil
return newHead.Next
}

查看20道真题和解析