leetcode刷题笔记(Golang)--82. Remove Duplicates from Sorted List II

82. Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

Example 1:

Input: 1->2->3->3->4->4->5
Output: 1->2->5
Example 2:

Input: 1->1->1->2->3
Output: 2->3

花花酱大佬

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func deleteDuplicates(head *ListNode) *ListNode {
	dummy := ListNode{Val: 0}
	preNode := &dummy
	node := head
	for node != nil {
		cnt := 0
		for node.Next != nil && node.Val == node.Next.Val {
			node = node.Next
            cnt++
		}
		if cnt == 0 {
			preNode.Next = node
			preNode = node
		} else {
			preNode.Next = nil
		}
		node = node.Next
	}

	return dummy.Next
}
发布了65 篇原创文章 · 获赞 0 · 访问量 350

猜你喜欢

转载自blog.csdn.net/weixin_44555304/article/details/104317399