链表倒数第k个结点
链表中倒数第k个结点
http://www.nowcoder.com/questionTerminal/529d3ae5a407492994ad2a246518148a
题目描述
输入一个链表,输出该链表中倒数第k个结点。
【递归!!】类似于二叉树遍历,从后面往前找,直到找到第k个结点(也就是倒数第k个结点)
AC代码:
class Solution {
public:
int count=0;
ListNode* p=NULL;
void Find(ListNode* pListHead, unsigned int k)
{
if(pListHead==NULL) return;
FindKthToTail(pListHead->next,k);
count++;
if(count==k)
{
p=pListHead;
}
}
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
Find(pListHead,k);
return p;
}
};
