题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (s.hasNextInt()) {
Integer n = s.nextInt();
Node header = new Node(-1);
Node temp = header;
for (int i = 0; i < n; i++) {
temp.next = new Node();
temp.next.val = s.nextInt();
temp = temp.next;
}
int k = s.nextInt();
Node thisnode = header;
Node thatnode = header;
int lv, lm;
for (int l = 0; l < k; l++) {
lv = thisnode.val;
thisnode = thisnode.next;
}
for (int m = 0; m < n; m++) {
if (null == thisnode.next) {
System.out.println(thatnode.next.val);
break;
}
lm = thatnode.val;
thatnode = thatnode.next;
lv = thisnode.val;
thisnode = thisnode.next;
}
}
}
}
class Node {
Integer val;
Node next;
Node(int val) {
this.val = val;
}
Node() {
}
}
