题目:输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0 个结点为链表的尾指针。
分析:只需要设计两个步长为K的指针,移动到末尾,后面的指针记录的就是第K个节点,时间复杂度是O(n),需要移动2n-K次
Node *findNode(Node * head,int k)
{
Node *pcur,*pK;
pcur=head;
pK=head;
while(k>0)
{
{
if(pK=null)
return null;
pK=pK->next;
k--;
}
while(pK!=null)
{
pcur=pcur->next;
pK=pK->next;
}
return pcur;
}