您的位置:首页 > Web前端

【九度OJ1517】|【剑指offer15】链表中倒数第k个结点

2013-10-18 00:00 459 查看
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
(hint: 请务必使用链表。)

输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为两个整数n和k(0<=n<=1000, 0<=k<=1000):n代表将要输入的链表元素的个数,k代表要查询倒数第几个的元素。
输入的第二行包括n个数t(1<=t<=1000000):代表链表中的元素。

输出:
对应每个测试案例,
若有结果,输出相应的查找结果。否则,输出NULL。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

class Node{
public int data;
public Node next;
public Node(int data){
this.data = data;
}
}
public class Main {

public static void main(String[] args) throws IOException {
StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
while(st.nextToken() != st.TT_EOF){
int n = (int) st.nval;
st.nextToken();
int num = (int) st.nval;
Node first = new Node(-1);
int count = 0;
while(count < n){
st.nextToken();
int t = (int) st.nval;
Node node = new Node(t);
node.next = first;
first = node;
count++;
}
if(num > n)
System.out.println("NULL");
else{
Node f = first;
while(num > 1){
f = f.next;
num--;
}
System.out.println(f.data);
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息