题解 | #链表中倒数最后k个结点#
链表中倒数最后k个结点
https://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9
class Solution {
public:
ListNode* FindKthToTail(ListNode* pHead, int k) {
ListNode *fast = pHead;
ListNode *last = pHead;
int len;
//先使用快指针 fast 进行一次完整的遍历,统计链表的长度 len
while (fast!=NULL) {
fast = fast->next;
len++;
}
//判断链表长度 ? k
if(len<k) return {};
//循环将慢指针 last 遍历到倒数第K个节点,然后返回该节点即可
for(int i=0;i<len-k;i++){
last = last->next;
}
return last;
}
};
