java题目输出单向链表中倒数第k个结点

输出单向链表中倒数第k个结点

描述

输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。

链表结点定义如下:

struct ListNode

{

int       m_nKey;

ListNode* m_pNext;

};

 
 
正常返回倒数第k个结点指针,异常返回空指针
 
数据范围:链表长度满足 1 \le n \le 1000 \1n1000  , k \le n \kn  ,链表中数据满足 0 \le val \le 10000 \0val10000 
 
本题有多组样例输入。

 

 

输入描述:

输入说明
1 输入链表结点个数
2 输入链表的值
3 输入k的值

输出描述:

输出一个整数

示例1

输入:
8
1 2 3 4 5 6 7 8
4
输出:
5

 

 1 import java.io.*;
 2 
 3 public class Main {
 4     
 5     public static void main(String[] args) throws Exception{
 6         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 7         String str = null;
 8         while((str = br.readLine())!=null){
 9             int num = Integer.parseInt(str);
10             String[] numStr = br.readLine().split(" ");
11  
12             int kNum = Integer.parseInt(br.readLine().trim());
13             if(kNum <=0 || kNum > numStr.length){
14                 System.out.println(kNum);
15             }else{                
16                 System.out.println(numStr[numStr.length-kNum]);
17             }
18            
19         }
20     }
21 }

 

posted @ 2022-03-05 17:15  海漠  阅读(59)  评论(0编辑  收藏  举报