[JAVA]从链表中删除重复数据(时间、空间)
来源:互联网 发布:淘宝店模板收费吗 编辑:程序博客网 时间:2024/05/22 01:32
一、从链表中删除重复数据
1)方法一(空间换取时间)
1、思路:利用hashmap来存储数据,当在hashmap中存在跳过这个数据,当不存在时,将这个数加入hashmap中
其事件复杂度是O(n),但是付出了空间复杂度
2、代码:
public void delDuplicateNum(LinkList list){ HashMap<Integer,Integer> map=new HashMap<Integer,Integer>(); LinkList list1=list; LinkList pre=null; while(list1!=null) { if(map.containsKey(list1.nodeValue)) pre.next=list1.next; else { map.put(list1.nodeValue, 1); pre=list1; } list1=list1.next; } while(list!=null) { list=list.next; }}2)方法二(时间换取空间)
1、思路:
利用双循环来实现删除重复数据
其时间复杂度是O(n^2),空间复杂度是O(1)
2、代码
public void delDup(LinkList list){ LinkList list1=list; LinkList tmp=null; while(list1!=null) { tmp=list1; while(tmp!=null) { if(tmp.next!=null&&list1.nodeValue==tmp.next.nodeValue) { tmp.next = tmp.next.next; } else tmp=tmp.next; } list1=list1.next; }}
0 0
- [JAVA]从链表中删除重复数据(时间、空间)
- Java:如何从链表中删除重复数据
- 从链表中删除重复数据(三种方法)
- 如何从链表中删除重复数据
- java中删除重复数据
- 从链表中删除重复节点
- java 删除List 中的重复数据
- Java删除数组中重复数据
- 从顺序表中删除所有值为x的元素(Java实现),要求时间复杂度O(n),空间复杂度O(1)
- SQL去除重复删除重复数据(高效,大数据)
- 26. Remove Duplicates from Sorted Array(从排序数组中删除重复) —— Java
- SQLServer2000删除重复数据(总结)
- SQLServer2000删除重复数据(总结)转帖
- 高效率随机删除数据(不重复)
- SQL删除重复数据(需整理)
- SQL删除重复数据(总结)
- oracle删除重复数据
- sql删除重复数据
- 文件系统中数据读取的详细过程
- 《实战Java...》读书笔记2
- LeetCode 23. Merge k Sorted Lists
- java API——引用类型对象对Object的继承及源码分析
- HDU 1203(dp46)
- [JAVA]从链表中删除重复数据(时间、空间)
- 小P的强力值
- HDOJ 1166 敌兵布阵(树状数组)
- HDU 2159(dp46)
- php中的trait
- Java 常量和变量
- C Primer Plus(第五版)中文版第11章编程练习(部分使用新特性,在codeblocks下通过测试,vc++6下运行可能出现错误)
- Linux系列之solr集群版环境搭建(六)
- 计算机网络