【发布时间】:2018-10-14 21:00:03
【问题描述】:
我有一个任务,我必须用一个或多个 ListIterators 反转一个列表。我不允许使用方法collections.reverse() 或其他类似的方法。我也不允许开辟新的领域。我也不能只使用新列表。必须更改输入!
这是我到目前为止所得到的。但是输入没有改变:
public static <T> List<T> reverse(List <T> input) {
ListIterator <T> listIterator2 = input.listIterator(input.size());
ListIterator <T> listIterator = input.listIterator(input.size());
int u = input.size()-1;
while(listIterator.hasNext()) {
listIterator.next();
while (listIterator2.hasPrevious()) {
listIterator.set(input.get(u));
listIterator2.previous();
u--;
}
}
return input;
}
【问题讨论】:
-
必须使用
iterator吗?一个简单的循环就足够了。 -
是的,我必须使用迭代器。
标签: java list collections iterator