🏆个人主页:企鹅不叫的博客
🌈专栏
⭐️ 博主码云gitee链接:代码仓库地址
⚡若有帮助可以【关注+点赞+收藏】,大家一起进步!
💎一、题目
🏆1.题目描述
🏆2.原题链接
💎二、解题报告
🏆1.思路分析
🔑思路:
首先fast先走K步,然后slow从起点和fast同时走,当fast走到空时,slow也就找到所需链表了
🏆2.代码详解
struct ListNode* getKthFromEnd(struct ListNode* head, int k){
//如果是空则返回空
if(head == NULL){
return NULL
}
struct ListNode* fast = head;
struct ListNode* slow = head;
while(k--){
fast = fast->next;
}
while(fast != NULL){
fast = fast->next;
slow = slow->next;
}
return slow;
}