链表中倒数第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) { if(pListHead==nullptr || k <=0 || k>GetLength(pListHead)) return NULL; ListNode *pFast = pListHead; ListNode *pSlow = pListHead; for(int i = 0;i < k-1;i++) pFast = pFast->next; while(pFast->next!=nullptr) { pFast = pFast->next; pSlow = pSlow->next; } return pSlow; } int GetLength(ListNode *pListHead) { int length= 0; while(pListHead) { pListHead = pListHead->next; length++; } return length; } };