思路:快指针先走k步,再快慢一起走,直到null,返回慢指针。 (注意k如果比链表长返回NULL)
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) { // write code here if(pListHead==NULL) return NULL; struct ListNode* slow=pListHead; struct ListNode* fast=pListHead; while(k--) { if(fast) { fast=fast->next; } else { return NULL; } } while(fast!=NULL) { slow=slow->next; fast=fast->next; } return slow; }