我正在尝试过去一年的问题以进行重考,并被以下问题所困扰。问题 1
在下文中,您可以假设存在 ListIterator 接口和 LinkedList 类,并使用以下方法
public interface ListIterator<E>
{
E next();
boolean hasNext();
}
public class LinkedList<E>
{
public void addLast(E obj){..}
public int size(){..}
public ListIterator<E> listIterator(){...}
}
使用上面列出的 ListIterator 接口和 LinkedList 类中的方法完成了下面给出的 printBackward 方法的设计。您不应该在方法中引入任何新变量。在您的回答中,不要复制整个方法。写入 Initialisation 1, Initialisation 2, Block 1, Block 2, Block 3 的内容。printBackward 方法应该递归地写在一个向后的单个列表中。参数 n 指定列表的大小。
public class MyLinkedList<E> extends LinkedList<E>
{
public void printBackward(int n)
{
if(n > 0){
ListIterator<E> itr = /**Initialisation 1**/ list1.listIterator();
int count = /**Initialisation 2**/ 0;
E item;
while(itr.hasNext())
{
/**Block 1**/ addLast(list1); printBackward(); count --;
}
/**Block 2**/ E.next;
}else
/**Block 3**/ return;
}
}
}
我已在 /** ..**/ 旁边插入我的答案,但不确定它们是否正确。如果有人可以帮助我纠正我的错误,将不胜感激