作者新建立的社区:https://bbs.csdn.net/forums/FKBZM?typeId=22226💖💛💙
期待hxd的支持哈🎉 🎉 🎉
思路:快指针先走k步,再快慢一起走,直到null,返回慢指针。 (注意k如果比链表长返回NULL)
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {
// write code here
if(pListHead==NULL)
return NULL;
struct ListNode* slow=pListHead;
struct ListNode* fast=pListHead;
while(k--)
{
if(fast)
{
fast=fast->next;
}
else
{
return NULL;
}
}
while(fast!=NULL)
{
slow=slow->next;
fast=fast->next;
}
return slow;
}