定义两个指针p,q都等于head。先让指针p先走k步(让两个指针相差k),然后再让两个指针一起走,当指针p走到头的时候,指针q刚好走到倒数第k个。
#include<stdio.h>
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* getKthFromEnd(struct ListNode* head, int k)
{
struct ListNode *p=head,*q=head;
while(p!=NULL && k>0)
{
p=p->next;
k--;
}
while(p!=NULL)
{
p=p->next;
q=q->next;
}
return q;
}
标签:head,ListNode,struct,个数,next,链表,倒数第,指针 From: https://www.cnblogs.com/dubai-1314/p/16796682.html