剑指offer--21.链表中倒数第k个结点
定义两个指针,当一个指针指到第K个结点时,第二个指针开始向后移动
--------------
时间限制:1秒 空间限制:32768K 热度指数:602826
题目描述
输入一个链表,输出该链表中倒数第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==NULL||k==0) return NULL; int pos_pre = 1; ListNode* node_pre = pListHead, *node_tail = pListHead; while(node_tail->next != NULL) { node_tail = node_tail->next; pos_pre++; if(pos_pre > k) { node_pre = node_pre->next; } } if(pos_pre < k) return NULL; return node_pre; } };