0%

LeetCode-82

题目

82. 删除排序链表中的重复元素 II

难度中等568收藏分享切换为英文接收动态反馈

结果

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteDuplicates(head *ListNode) *ListNode {
cnt := make(map[int]int)
for ptr := head; ptr != nil; ptr = ptr.Next {
cnt[ptr.Val]++
}

ans := &ListNode{Val: 0}
p := ans
for ptr := head; ptr != nil; ptr = ptr.Next {
if cnt[ptr.Val] == 1 {
p.Next = &ListNode{Val: ptr.Val}
p = p.Next
}
}
return ans.Next
}

复杂度

时间复杂度:O(n)

空间复杂度:O(n)