我正在尝试为标题链表类编写一个 peek 方法。但是,它不返回第一个值。
public E peek () throws NoSuchElementException {
ListNode<E> temp = highest;
ListNode<E> r = temp;
if (temp.next == null) throw new NoSuchElementException();
else r.next = temp.next.next;
return r.next.value;
}
我明白为什么它不返回第一个值。因为在我的代码else r.next
中已经指向列表中的下一个节点。因此,对于 5、4、3、2、1,它将在第一次调用时返回 4 而不是 5。 temp 指向最高节点,即头节点。如何获得首先返回列表中第一个值 5 的方法?