用最优方法从LinkedList列表中删除重复元素
用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C。
考试的时候没完全想明白,考完又想了想,其实还是蛮简单的。思路很简单:利用一个Set存放LinkedList中的元素,在迭代的过程中,判断当前元素是否在Set中出现过,如果出现过就删除,也就是说我们在遍历的过程中进行删除操作,所以这里要用到ListIterator,而不能用普通的Iterator。
代码如下:
private static LinkedList removeDuplicatedElements(LinkedList list) {
	HashSet set = new HashSet();
	Iterator iter = list.listIterator();
	while(iter.hasNext()){
		String str = (String)iter.next();
		if(!set.contains(str))
			set.add(str);
		else
			iter.remove();
	}
	return list;
}
http://www.tuicool.com/articles/MrYZZb												
											用最优方法从LinkedList列表中删除重复元素的更多相关文章
- 兰亭集势笔试题:用最优方法从LinkedList列表中删除重复元素
		用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C. 考试的时候没完全想明白,考完又 ... 
- python四种方法实现去除列表中的重复元素
		转载:https://blog.csdn.net/together_cz/article/details/76201975 def func1(one_list): ''''' 使用集合,个人最常用 ... 
- LeetCode 82,考察你的基本功,在有序链表中删除重复元素II
		本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第51篇文章,我们来看LeetCode第82题,删除有序链表中的重复元素II(Remove Duplicates ... 
- leetcode 82 删除排序列表中的重复元素II
		与83类似,不过需要注意去除连续的重复片段的情况,如2 2 3 3这种情况,以及[1,1]这种情况下最终的cur为NULL,因此不能再令cur=cur->next; /** * Definiti ... 
- [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素
		Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For exampl ... 
- [Leetcode] Remove duplicates from sorted list 从已排序的链表中删除重复元素
		Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ... 
- [Leetcode] Remove duplicates from sorted array 从已排序的数组中删除重复元素
		Given a sorted array, remove the duplicates in place such that each element appear only once and ret ... 
- Python:列表中,增加元素、删除元素、切片、其它
		一.向列表中增加元素 list.append(单个元素):在list列表末端增加一个元素: list.extend([元素1,元素2]):在list列表末端增加多个元素: list.insert(元素 ... 
- python删除列表中得重复得数据
		解决思想:将列表转换为 集合,利用集合删除重复数据得特性删除重复数据,然后将集合转换为列表 #删除列表中得重复元素 def delect_1 (lt): s = set(lt) lt = list(s ... 
随机推荐
- hdu-1875 畅通工程再续---MST
			题目链接: https://vjudge.net/problem/HDU-1875 题目大意: 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小 ... 
- 将数据库数据添加到ListView控件中
			实现效果: 知识运用: ListView控件中的Items集合的Clear方法 //从listView控件的数据项集合中移除所有数据项 补充:可以使用Remove或RemoveAt方法从集合中移除单个 ... 
- 网络编程——UDP协议和通信
			第1章 UDP与TCP协议 在介绍TCP/IP结构时,提到传输层的两个重要的高级协议,分别是UDP和TCP,其中UDP是User Datagram Protocol的简称,称为用户数据报协议,TCP是 ... 
- IE脚本调试
			打开IE -- 工具 -- Internet选项 -- 高级 --有4项. 1.禁用脚本调试(Internet Explorer)(去掉对勾) 2.禁用脚本调试(其他)(去掉对勾) 3.显示每个脚本错 ... 
- java 实现猜数字游戏 随机给定一个数字,猜大小直到正确
			package com.swift; import java.util.Random; import java.util.Scanner; public class GuessBigSmall { p ... 
- Tesseract-ocr视觉学习-验证码识别及python  import pytesseract使用
			Tesseract-OCR的简单使用与训练 最近看到某个网站提交数据要提交验证码,用tesseract自带的识别, 识别出来是什么鬼,0-9识别成了什么玩意! so决定自己训练下tesseract.. ... 
- JZOJ 5456. 【NOIP2017提高A组冲刺11.6】奇怪的队列
			5456. [NOIP2017提高A组冲刺11.6]奇怪的队列 (File IO): input:queue.in output:queue.out Time Limits: 1000 ms Mem ... 
- windows Server 2008 r2-搭建FTP服务器
			FTP协议介绍 FTP协议工作在OSI参考模型的第七层,TCP模型的第四层上(即应用层上).使用FTP传输而不是UDP,与服务端建立连接经过三次握手. FTP端口介绍 FTP默认端口是21,.(21端 ... 
- 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
			a,b,c,d,e,f,g=1,2,3,4,5,8,9 m = a > b and c < d or c > e n = b > a or g < f x = m and ... 
- Codeforces Round #464 (Div. 2) A Determined Cleanup
			A. Love Triangle time limit per test1 second memory limit per test256 megabytes Problem Description ... 
