一、题目:
输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。
正常返回倒数第k个结点指针,异常返回空指针
本题有多组样例输入。
输入描述:
输入说明
1 输入链表结点个数
2 输入链表的值
3 输入k的值
输出描述:
输出一个整数
二、输入输出示例:
四、代码:
#include<iostream>
using namespace std;
struct ListNode
{
int value;
ListNode *Next;
};
int main()
{
int N,num,k;
while(cin>>N)
{
cin>>num;
ListNode *Head = new ListNode;
ListNode *p = Head;
Head->value = num;
Head->Next = NULL;
for(int i=0;i<N-1;i++)
{
cin>>num;
ListNode *Node = new ListNode;
Node->value = num;
Node->Next = NULL;
Head->Next = Node;
Head = Node;
}
Head = p;
int count = 0;
while(Head != NULL)
{
count++;
Head = Head->Next;
}
cin>>k;
if(k>count||k==0)
{
cout<<NULL<<endl;
}
else
{
int flag = 0;
Head = p;
for(int i=0;i<count-k;i++)
{
Head = Head->Next;
}
cout<<Head->value<<endl;
}
}
system("pause");
return 0;
}