LEATH
以下是不使用任何临时附加集合的O(N ^ 2)算法。向后迭代,从最后一个元素到第二个元素,如果列表的当前元素已经存在于列表的前面,则删除当前元素。import java.util.*;public class Main {
public static void main(String[] args) {
List list = new LinkedList<>(Arrays.asList(1,2,1,3,1,4,5,5,1));
ListIterator iter = list.listIterator(list.size());
for (int index = list.size() - 1; index > 0; index--) {
Integer element = iter.previous();
if (list.subList(0, index).contains(element))
iter.remove();
}
assert list.equals(Arrays.asList(1,2,3,4,5));
}}