本文主要是介绍数据结构代码题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 查找链表中倒数第k个节点
查找链表中倒数第k个节点
使用了双指针的方法,让fast先走k步,然后slow和fast同时向后走,直到fast走到了NULL,此时slow指向的就是倒数第k个结点。
typedef struct Node
{int data;struct Node *link;
}LinkNode,*LinkList;int find_k(LinkList L,int k){if (L->next==NULL || k<=0){return NULL;}Node *slow=L->next, *fast=L->next;slow=L->next;fast=slow;while(k>0 && fast!=NULL){fast=fast->next;k--;}if(fast==NULL){return NULL;}while(fast!=NULL){fast=fast->next;slow=slow->next;}return slow->data;
}
这篇关于数据结构代码题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!