题解 | #牛群排列去重#

牛群排列去重

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
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务