题解 | #牛群排列去重#

牛群排列去重

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
}

全部评论

相关推荐

01-29 15:45
已编辑
华中科技大学 前端工程师
COLORSN:可以试一下,小厂看技术栈是不是很落后,如果太拉胯就别去,个人认为有实习氛围比你自己琢磨要高效不少,然后就是小厂其实也有可能会问的很难,这都比较难说,还是看自己项目含金量够不够,寒假还能不能推进学习再选择,毕竟去实习过年就10天假了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务