# 1836. Remove Duplicates From an Unsorted Linked List ###### tags: `Leetcode` `Medium` `Linked List` Link: https://leetcode.com/problems/remove-duplicates-from-an-unsorted-linked-list/ ## 思路 首先找到每个val出现的次数 然后遍历整个list如果当前node出现不止一次就要把当前node删掉 因为要删掉当前node 所以我们在回圈里面其实是看curr.next.val出现了几次 并且还要加一个dummynode来防止把head删掉 ## Code ```java= class Solution { public ListNode deleteDuplicatesUnsorted(ListNode head) { ListNode dummyNode = new ListNode(0); dummyNode.next = head; Map<Integer, Integer> cnt = new HashMap<>(); ListNode curr = head; while(curr!=null){ cnt.put(curr.val, cnt.getOrDefault(curr.val, 0)+1); curr = curr.next; } curr = dummyNode; while(curr!=null && curr.next!=null){ if(cnt.get(curr.next.val)>1){ curr.next = curr.next.next; } else{ curr = curr.next; } } return dummyNode.next; } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up