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