题解 | #输出单向链表中倒数第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); }//节点个数 }