헤더 연결 목록 클래스에 peek 메서드를 작성하려고합니다. 그러나 첫 번째 값을 반환하지 않습니다.Java 메서드가 연결된 목록의 첫 번째 값을 반환하지 않습니다.
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의 경우 5 대신 첫 번째 호출에서 4를 반환합니다. temp는 헤더 노드 인 최상위 노드를 가리 킵니다. 목록에서 첫 번째 값 (5)을 반환하는 메소드는 어떻게 얻을 수 있습니까?
그래서 무엇이 문제입니까? –
방금 편집했습니다. 질문은 다음과 같습니다. 어떻게 peek 메서드를 사용하여 목록의 첫 번째 값을 반환 할 수 있습니까? – user1766888
당신은'header.next.value'를 사용할 수 있습니다 –