Cracking coding interview(2.1)去除LinkedList中的重复元素
程序员文章站
2022-06-02 15:42:56
...
2.1 Write code to remove duplicates from an unsorted linked list. FOLLOW UP How would you solve this problem if a temporary buffer is not allowed? import java.util.LinkedList;import java.util.Iterator;import java.util.Collections;import jav
2.1 Write code to remove duplicates from an unsorted linked list.FOLLOW UP
How would you solve this problem if a temporary buffer is not allowed?
import java.util.LinkedList; import java.util.Iterator; import java.util.Collections; import java.util.Hashtable; public class Solution{ //brute-force time complexity:O(n^2) space complexity:O(1) public static void removeDuplicate1(LinkedListlist){ for(int i=0;i list){ //sort Collections.sort(list); if(list.size() >= 2){ for(int i=0;i list){ Hashtable hash = new Hashtable (); //lookup hashtable to delete repeat elements for(int i=0;i list){ Iterator it = list.iterator(); while(it.hasNext()){ System.out.print((Integer)it.next()+" "); } System.out.println(); } public static void main(String[] args){ LinkedList list = new LinkedList (); list.add(6);list.add(2);list.add(2);list.add(3); list.add(1);list.add(4);list.add(2);list.add(3); list.add(7);list.add(2);list.add(2);list.add(10); Solution.printLinkedList(list); Solution.removeDuplicate3(list); Solution.printLinkedList(list); } }
1.brute-force time complexity: O(n^2) space complxity:O(1), 输出元素保持原有顺序
2.sort:time complexity:O(nlogn) space complexity:O(1), 输出元素为排序后结果
3.hashtable:time complexity:O(n) space complexity:O(n), 输出元素保持原有顺序
类似问题:http://blog.csdn.net/u011559205/article/details/38125405
上一篇: PHP 中 mysqli 出错信息为乱码
下一篇: 使用PHP搭建自己的MVC框架