题目描述:

具体实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
MyLinkedList list = new MyLinkedList();
for (int i = 0; i< n;i++) {
list.add(in.nextInt());
}
int k = in.nextInt();
System.out.println(list.get(n - k));
}
in.close();
}
}
class Node {
public int data;
public Node next;
public Node(int data) {
this.data = data;
}
}
class MyLinkedList {
private int size = 0;
private Node first;
private Node last;
public MyLinkedList() {
}
public boolean add(int e) {
final Node l = last;
final Node newNode = new Node (e);
last = newNode;
if (l == null) {
first = newNode;
last = newNode;
} else {
l.next = newNode;
}
size++;
return true;
}
public int get(int index) {
if (index < 0 || index > size - 1) {
throw new IndexOutOfBoundsException(
"index " + index + " out of bounds");
}
Node x = first;
for (int i = 0; i < index; i++) {
x = x.next;
}
return x.data;
}
}