👑个人主页:啊Q闻
🎇收录专栏:《数据结构》
🎉前路漫漫亦灿灿
前言
今天的题目是求出链表中倒数第k个节点。
链表中倒数第k个节点
题目为:. - 力扣(LeetCode)
思路为:
定义快慢指针,快指针fast先走k步,然后快指针fast和慢指针slow一起走k-1步,返回slow。
图示:
代码实现:
int kthToLast(struct ListNode* head, int k){
struct ListNode*fast=head,*slow=head;
while(k--)
{
if(fast==NULL)//当fast为空时,fast->next是无意义的
return NULL;
fast=fast->next;
}
while(fast)//当fast为空时,代表其已经遍历完了链表
{
slow=slow->next;
fast=fast->next;
}
return slow->val;
}
感谢阅读,如果对你有帮助的话,三连支持一下吧