题解 | #牛群排列去重#

牛群排列去重

https://www.nowcoder.com/practice/8cabda340ac6461984ef9a1ad66915e4

考察知识点:链表、双指针

解题思路:这道题跟第一道题是一样的思路,只是改了判断条件。在去除峰值的题目中,需要跳过的元素是峰值元素,而在这道题中,需要去除的元素是跟上一个元素相同的元素。同样的做法还可以用于数组去重。

本题解所使用语言:golang

package main


/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param head ListNode类
 * @return ListNode类
 */
func deleteDuplicates( head *ListNode ) *ListNode {
    // write code here
    newHead := new(ListNode)
    newHead.Next = head
    
    pre := newHead

    for ptr := head; ptr != nil; ptr = ptr.Next {
        if ptr.Val == pre.Val {
            continue
        }
        pre.Next = ptr
        pre = ptr
    }

    pre.Next = nil

    return newHead.Next
}

全部评论

相关推荐

03-27 17:33
门头沟学院 Java
代码飞升:同学院本,你要注意hr当天有没有回复过,早上投,还要打招呼要推销自己,不要一个劲投
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务