链表中倒数第k个结点
Posted wtzhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表中倒数第k个结点相关的知识,希望对你有一定的参考价值。
题目:输入一个链表,输出该链表中倒数第k个结点。
这道题可以用快慢指针做,先让first指针走k步,然后first和second指针一起走,直到first指针走到空,这时候second指针就指向倒数第k个结点。
c++代码如下:
1 class Solution { 2 public: 3 ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { 4 auto first = pListHead, second = pListHead; 5 while(k--){ 6 if(first) first = first->next; 7 else return nullptr; 8 } 9 while(first){ 10 first = first->next; 11 second = second->next; 12 } 13 return second; 14 } 15 };
以上是关于链表中倒数第k个结点的主要内容,如果未能解决你的问题,请参考以下文章