下面的迭代器类返回除第一个元素外的所有元素,并且它返回的最后一个元素为null。我不确定如何解决它,以便它只返回最后没有空值的所有元素。

最佳答案

这里

        newHead = newHead.next;
        ...
        return (E) newHead;


您移至下一个元素,然后返回其内容。实际上,您始终会跳过列表的第一个元素。相反,可以反过来做(使用临时变量):

        MyListNode<E> current = newHead;
        newHead = newHead.next;
        ...
        return (E) current;

08-26 02:44