剑指offer-链表中倒数第K个结点

Posted DeaglePc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-链表中倒数第K个结点相关的知识,希望对你有一定的参考价值。

这个题貌似经常听说?

两个指针,指针1指向头,指针2指向头+k的位置,指针2到达尾部的时候指针1就是答案

技术分享
/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
        ListNode* ph = pListHead, *pf = pListHead;
        for(int i = 0; ph && i < k - 1; ++i){
            ph = ph->next;
        }
        if(ph == nullptr)
            return nullptr;
        while(ph->next){
            ph = ph->next;
            pf = pf->next;
        }
        return pf;
    }
};
View Code

 

以上是关于剑指offer-链表中倒数第K个结点的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer链表中倒数第k个结点

链表中倒数第k个结点-剑指Offer

剑指Offer-Java-链表中倒数第k个结点

剑指Offer-链表中倒数第k个结点

《剑指Offer》题目:链表中倒数第k个结点

剑指Offer 链表中倒数第k个结点