题解 | 输出单向链表中倒数第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 scanner = new Scanner(System.in);
while(scanner.hasNext()) {
int nodeNum = scanner.nextInt();
ListNode tmp = null;
ListNode head = null;
for(int i = 0; i < nodeNum; i ++)
{
int val = scanner.nextInt();
ListNode node = new ListNode(val,null);
if(tmp != null)
{
tmp.next = node;
}
if(head == null)
{
head = node;
}
tmp = node;
}
int rightToLeftPos = scanner.nextInt();
int leftToRightPos = nodeNum - rightToLeftPos + 1;
tmp = head;
int count = 1;
while(tmp != null)
{
if(count == leftToRightPos)
{
break;
}else{
count ++;
tmp = tmp.next;
}
}
System.out.println(tmp.val);
}
}
static class ListNode{
int val;
ListNode next;
ListNode(int val, ListNode next)
{
this.val = val;
this.next = next;
}
}
}