题目描述
输入一个链表,输出该链表中倒数第k个结点。
若p指针为头指针,q指针指向第k个结点,两个一起向后移动,当q指向最后一个结点时,p指向倒数第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 || !k) return NULL; int n = k - 1; ListNode* node = pListHead; while (n--) { if (!(node->next)) return NULL; // 这里要注意 node = node->next; } ListNode* re = pListHead; while (node->next) { node = node->next; re = re->next; } return re; } };