输入一个链表,输出该链表中倒数第k个结点。
思路:快慢指针
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
ListNode* fast = pListHead;
ListNode* low = pListHead;
while(k > 0){
if(fast == NULL){
return NULL; //防止越界错误!!!要加
}
fast = fast->next;
k--;
}
while(fast != NULL){
fast = fast->next;
low = low->next;
}
return low;
}
};