题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int key;
struct Node* next;
}Node;
int main() {
int n;
int key;
while(scanf("%d", &n) != EOF) {
Node* head = (Node*)malloc(sizeof(Node));
head->next=NULL; //头节点
for(int i=0; i<n; i++) {
scanf("%d", &key);
Node* newnode = (Node*)malloc(sizeof(Node));
//头插法就不需要快慢指针了
newnode->key=key;
newnode->next=head->next;
head->next=newnode;
}
int k;
scanf("%d",&k);
Node*p=head;
for(int i=0; i<k; i++) {
head=head->next;
}
printf("%d\n",head->key);
}//节点个数
}

