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

