
LeetCode p82 Remove Duplicates from Sorted List II 题解
1.题目:
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.
题意:
输入一个链表,剔除其中所有重复出现过的数字。
2.解题思路:
见代码
3.代码
[title] [] [url] [link text]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
public class { public ListNode deleteDuplicates(ListNode head) { ListNode ans = new ListNode(0); ans.next = head; HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); while (head != null) { map.put(head.val, map.getOrDefault(head.val, 0) + 1); head = head.next; } head = ans; while (head != null && head.next != null) { if (map.get(head.next.val) > 1) { head.next = head.next.next; continue; } head = head.next; } return ans.next; } }
|
4.一些总结:
近期评论