?
#include<iostream>
using namespace std;
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
ListNode*init(int n){
ListNode* p= new ListNode();
p->m_pNext=NULL;
// result头指针不动
ListNode*result=p;
while(n>0){
int val;
cin>>val;
ListNode *m=new ListNode();
m->m_nKey=val;
m->m_pNext=NULL;
// 正序创建 p后移
p->m_pNext=m;
p=m;
n--;
}
return result;
}
int out(struct ListNode*l,int n){
while(n!=0){
n--;
l=l->m_pNext;
if(l==NULL) {
return 0;
}
}
return l->m_nKey;
}
int main(){
int n;
//忘记链表长
while(cin>>n){
struct ListNode * l=init(n);
int k;cin>>k;
cout<<out(l,n-k+1)<<endl;
}
return 0;
}
?
?
|