/** Return a list of all items in L that appear more than once.
* Each item appears once in the result.
*/
static List<String> duplicates(List<String> L) {
ArrayList<String> result = new ArrayList<String>();
int n;
n = 0;
for (ListIterator<String> p1 = L.listIterator(); p1.hasNext();
n += 1) {
String x = p1.next();
if (result.contains(x)) {
continue;
}
int m;
m = L.size() - 1;
for (ListIterator<String> p2 = L.listIterator(L.size());
m > n; m -= 1) {
if (x.equals(p2.previous())) {
result.add(x);
break;
}
}
}
Collections.sort(result);
return result;
}
我想修改此代碼,以便除結果,p1和p2以外不使用任何其他變量。這就是我現在所擁有的,但是我對如何解決這個問題卻很失落。使用ListIterator刪除重複
ListIterator<String> p1 = L.listIterator();
while (p1.hasNext()) {
String x = p1.next();
if result.contains(x)) {
continue;
}
你想刪除重複或返回一個重複值的列表? – Averroes
我想刪除所有重複項。結果應該是文件中的單詞列表(字符串),減去重複項。 –