LeetCode 082~083 Remove Duplicates from Sorted List
2015-04-21 21:20
337 查看
Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.
题目解析:去除重复的,只显示单个的内容
代码:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { Set<Integer> set=new TreeSet<Integer>(); while(head!=null){ if(!set.contains(head.val)){ set.add(head.val); } head=head.next; } ListNode result,temp; Iterator<Integer> it=set.iterator(); if(it.hasNext()){ result=new ListNode(it.next()); temp=result; while(it.hasNext()){ temp.next=new ListNode(it.next()); temp=temp.next; } return result; } return null; } }
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.For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.
题目解析:在上一题的基础上,把重复的部分去掉,只显示没有重复的
代码:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { Set<Integer> set=new TreeSet<Integer>(); Set<Integer> set0=new LinkedHashSet<Integer>(); while(head!=null){ if(!set.contains(head.val)){ set.add(head.val); set0.add(head.val); }else{ set0.remove(head.val); } head=head.next; } ListNode result,temp; Iterator<Integer> it=set0.iterator(); if(it.hasNext()){ result=new ListNode(it.next()); temp=result; while(it.hasNext()){ temp.next=new ListNode(it.next()); temp=temp.next; } return result; } return null; } }
相关文章推荐
- 083 Remove Duplicates from Sorted List [Leetcode]
- LeetCode 083 Remove Duplicates from Sorted List
- leetcode 082 Remove Duplicates from Sorted List II
- [LeetCode]题解(python):082-Remove Duplicates from Sorted List II
- Java for LeetCode 082 Remove Duplicates from Sorted List II
- leetcode 083 —— Remove Duplicates from Sorted List
- [LeetCode]题解(python):083-Remove Duplicates from Sorted List
- Java for LeetCode 083 Remove Duplicates from Sorted List
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- leetcode 083 Remove Duplicates from Sorted List
- 【LeetCode-面试算法经典-Java实现】【083-Remove Duplicates from Sorted List(排序的单链表中删除重复的结点)】
- LeetCode 083 Remove Duplicates from Sorted List
- LeetCode 082 Remove Duplicates from Sorted List II
- leetcode 083 Remove Duplicates from Sorted List(难易度:Easy)
- LeetCode082 Remove Duplicates from Sorted List II
- leetcode_c++:链表:Remove Duplicates from Sorted List (083)
- LeetCode: Remove Duplicates from Sorted List II [083]
- LeetCode 083 Remove Duplicates from Sorted List
- LeetCode083 Remove Duplicates from Sorted List
- leetcode_c++:链表:Remove Duplicates from Sorted List II(082)