题解 | #删除有序链表中重复的元素-II#
删除有序链表中重复的元素-II
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024
package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
func deleteDuplicates(head *ListNode) *ListNode {
// write code here
if head == nil || head.Next == nil {
return head
}
vir := &ListNode{}
vir.Next = head
cur := vir //这代表不重复的点
for i := 0; ; i++ {
if cur.Next != nil && cur.Next.Next != nil {
if cur.Next.Val == cur.Next.Next.Val {
value := cur.Next.Val
for j := 0;; j++ {
if cur.Next != nil && cur.Next.Val == value {
cur.Next = cur.Next.Next
}else {
break
}
}
}else {
cur = cur.Next
}
}else {
break
}
}
return vir.Next
}
查看14道真题和解析