刷题笔记(九)——输出链表倒数第k个节点
题目描述
输入一个链表,输出该链表中倒数第k个结点
思路:利用递归的嵌套。使用递归一直递归到最后一个节点,在一层一层退出时,用以变量计数,达到k时则输出。
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
int count =0;
public:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
ListNode* p=pListHead;
if(p==NULL)
return p;
ListNode* q=FindKthToTail(p->next, k);
count++;
if(count==k)
return p;
return q;
}
};