题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
#include <iostream>
using namespace std;
struct ListNode{
int m_nKey;
ListNode* m_pNext;
};
int main() { //有多组测试用例,一定要循环,然后文件结尾再跳出循环
int n;
while(cin>>n){
ListNode *head;
while(n--){ //采用头插法输入数据,这样相当于获得与输入顺序相反的链表
ListNode* newNode=new ListNode();
cin>>newNode->m_nKey;
newNode->m_pNext=head;
head=newNode;
}
//链单向表正数第k个即为题中所要求的的倒数第k个
int k;
cin>>k;
while(--k){
head=head->m_pNext;
}
cout<<head->m_nKey<<endl;
}
return 0;
}
