题解 | #牛群排列去重#
牛群排列去重
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 }