描述 | |
---|---|
知识点 | 链表,查找,指针 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入说明 |
输出 | 输出一个整数 |
样例输入 | 8 1 2 3 4 5 6 7 8 4 |
样例输出 | 4 |
/*使用链表的方法,先定义一个节点,然后创建一个链表
* */
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
TestList list = new TestList();
for (int i = 0; i < n; i++)
list.add(sc.nextInt());
int k = sc.nextInt();
sc.close();
System.out.println(getNode(list, k));
}
private static int getNode(TestList list, int k) {
Node second = list.head;
if (k == 0 || list.head == null)
return 0;
int size = list.length() - k;
for (int i = 1; i < size; i++) {
second = second.next;
if (second == null)
return 0;
}
return second.data;
}
}
class TestList {
Node head = null;
Node current = null;
public void add(int data) {
if (null == head) {
head = new Node(data);
current = head;
} else {
current.next = new Node(data);
current = current.next;
}
}
public int length() {
int size = 0;
if (null == head)
return 0;
current = head;
while (current != null) {
size++;
current = current.next;
}
return size;
}
}
class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
}
}