输入一个链表,输出该链表中倒数第k个结点。
使用双指针
class Solution {
public:
ListNode* FindKthToTail(ListNode* head, unsigned int k) {
if(!head||k==0) return NULL;
ListNode* pk=head;
while(k--)
{
if(!pk) return NULL;//每个节点先判断一下是否为空节点
pk=pk->next;
}
while(pk)
{
pk=pk->next;
head=head->next;
}
return head;
}
};
本文介绍了一种使用双指针技术解决链表问题的方法,具体为找到链表中倒数第k个结点。通过两个指针同步移动,当快指针到达链表尾部时,慢指针恰好指向目标结点。
444

被折叠的 条评论
为什么被折叠?



