13 输入一个单向链表,输出该链表中倒数第k个结点

来源:互联网 发布:网络销售app排行榜 编辑:程序博客网 时间:2024/05/31 06:22
/*第 13  题:题目:输入一个单向链表,输出该链表中倒数第 k  个结点。链表的倒数第0个结点为链表的尾指针。因为倒数第k个,就是正数第n-k个,因为长度不知道 用2个指针,第一个走K步,则剩下了n-k步,与另一指针一起走,则返回第n-k个,即倒数第k个 */struct listNode{int data;listNode *next;};listNode node;node * lastK(node *head,int k){if(k<0) error("k<0");node *p=head,*pk=head;while(k--)//走k步 {if(pk->next!=NULL)pk=pk->next;elsereturn NULL;}while(pk->next!=NULL)//p走n-k步,用pk控制 {p=p->next;pk=pk->next;} return p;}

0 0
原创粉丝点击