🌈个人主页:羽晨同学
💫个人格言:“成为自己未来的主人~”
在这里,我们提供一种相对来说好用的思路:
我们可以先让节点走多余的几步,然后再一起走
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
int kthToLast(struct ListNode* head, int k)
{
struct ListNode*cur=head;
while(k--)
{
cur=cur->next;
}
while(cur)
{
cur=cur->next;
head=head->next;
}
return head->val;
}
当cur走到结束的时候,另外一个恰好走到需要的位置。