题目:
描述
输入一个链表,输出该链表中倒数第k个结点。
示例1
输入:
1,{1,2,3,4,5}
返回值:
{5}
思路:思路 :定义两个指针 第一个指针先走k步,然后两指针同时往后走;当第一个指针==NULL时结束 此时的第二个指针的值刚好是倒数第K个结点。
代码实现:
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {
// write code here
struct ListNode* Fast=pListHead;
struct ListNode* Slow=pListHead;
while(k--)
{
if(Fast==NULL)
{return NULL;}
Fast=Fast->next;
}
while(Fast)
{
Fast=Fast->next;
Slow=Slow->next;
}
return Slow;
}