题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
#include <stdio.h>
#include <malloc.h>
//利用尾插法,尾插法可以将输入顺序逆置,然后找出链表第k个结点即可
struct ListNode
{
int m_nKey;
struct ListNode* m_pNext;
};
int main() {
int n;
while(scanf("%d",&n)!=EOF)
{
struct ListNode *Q=malloc(sizeof(struct ListNode));
Q->m_pNext=NULL;
for(int i=0;i<n;i++)
{
int x;
scanf("%d",&x);
struct ListNode* node=malloc(sizeof(struct ListNode)*1);
node->m_nKey=x;
node->m_pNext=Q->m_pNext;
Q->m_pNext=node;
}
int ret=0;
int k;
scanf("%d",&k);
for(int i=0;i<k;i++)
{
Q=Q->m_pNext;
}
printf("%d\n",Q->m_nKey);
}
return 0;
}
爱玛科技公司福利 8人发布
查看23道真题和解析